[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 2# 77七
用findstr可以省掉一个管道命令:
  1. 'dir /b /a-d *.pdf ^|findstr /rv "已处理 待处理"'
复制代码

TOP

本帖最后由 qixiaobin0715 于 2023-5-30 09:31 编辑

回复 3# 1989615wx
实际上代码可以这样精简,可能显示有些差异,对”添加自定义文字“、”撤销添加的前缀“不知我理解的是否正确。未经测试:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set Pre=1030_790_原点印务 1030_800_百姓印务 760_605_鑫金星 1030_800_鑫金星 1030_790_雅美高 910_665_华印汇彩 460_395_华美丰 620_485_华美丰 920_760_华美丰
  4. for %%a in (%Pre%) do (
  5.     set /a n+=1
  6.     set _!n!=%%a
  7.     echo,!n!、 【%%a】
  8. )
  9. echo,10、【添加自定义文字】
  10. echo,00、【撤销添加的前缀】
  11. echo,&set /p xz=请输入数字后回车:
  12. if %xz% equ 10 (
  13.     echo,
  14.     set /p targetDate=请输入自定义文字:
  15.     for /f "delims=" %%i in ('dir /b /a-d *.pdf') do ren "%%i" "!targetDate!%%i"
  16. ) else if "%xz%"=="00" (
  17.     for /f "delims=" %%i in ('dir /b /a-d *:*.pdf') do (
  18.         set "str=%%i"
  19.         set "str=!str::=\!"
  20.         for %%j in ("!str!") do ren "%%i" "%%~nxj"
  21.     )
  22. ) else (
  23.     for /f "delims=" %%i in ('dir /b /a-d *.pdf^|find /v "文件名:"') do ren "%%i" "!_%xz%!_文件名:%%i"
  24. )
  25. pause
复制代码
1

评分人数

TOP

本帖最后由 qixiaobin0715 于 2023-5-30 13:56 编辑

回复 11# 1989615wx
重新检查了代码,你是不是输入00,要撤销添加前缀会出现此种现象,如果是这样的话,就把代码第20行中的!str!加上引号,看看是否能解决问题。楼上代码已修改。

TOP

回复 13# 1989615wx
pause是暂停的意思,去掉即可。

TOP

返回列表