[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b /a-d *.pdf^|find "#"') do (
  4.     for /f "tokens=1 delims=#" %%b in ("%%a") do (
  5.         if exist "%%~b.pdf" (
  6. set /a n=1
  7. call :No_DupFile "%%~b"
  8. ren "%%~a" "%%~b~!n!.pdf"
  9. ) else (
  10. ren "%%~a" "%%~b.pdf"
  11. )
  12.     )
  13. )
  14. endlocal
  15. exit/b
  16. :No_DupFile
  17. if exist "%~1~!n!.pdf" (
  18.     set /a n+=1
  19.     goto :No_DupFile
  20. )
复制代码

TOP

回复 10# qixiaobin0715


高手!!!学习的标杆!!!

纯探讨一下,如果把第7、8两行合并如下:
  1. for /f "delims=" %%k in ('dir /b /a-d %%i~*.pdf 2^>nul^|find /c ".pdf"') do set /a n=%%k+1
复制代码
是不是对于俺这样的新手来说更容易理解一点

TOP

回复 10# qixiaobin0715


    哦,抱歉,没注意 findstr /ber 使用正则表达式的严格探索,班门弄斧了

TOP

回复 16# jcrh_bf
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d *?#?*.pdf') do (
  3.     for /f "tokens=1 delims=-#" %%a in ("%%i") do (
  4.         move "%%i" "%%a%%~xi"
  5.     )
  6. )
复制代码

TOP

回复 20# jcrh_bf


前3行的次序调整一下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d E:\8.26\已处理
复制代码
即可

TOP

回复 20# jcrh_bf


或者你检查一下,是否已保存为ANSI编码格式

TOP

返回列表