[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 xczxczxcz 于 2018-10-8 17:51 编辑

以 “_” “A” “B”结尾的为旧文档?
好你看明白了点,是比较后两位字符大小的问题。

TOP

回复 1# qin863132

未做优化,文件夹名自己看情况改。用临时文件方法,少动脑细胞:
  1. @echo off & setlocal EnableDelayedExpansion
  2. pushd "%~dp0"
  3. MD 旧图纸备份>nul 2>nul
  4. MD tmp>nul 2>nul
  5. for /f "delims=" %%a in ('dir/a-d/b *.pdf') do (
  6. set "str=%%~na" & set "str=!str:~0,-2!"
  7. md tmp\!str!\ >nul 2>nul
  8. cd.>tmp\!str!\%%a
  9. )
  10. for /d %%a in ("tmp\*") do (
  11. call :NEW "%%a" old
  12. for /f "delims=" %%e in ('dir/a-d/b *.pdf') do (
  13. set "name=%%~ne"
  14. if /i "!name:~0,-2!"=="%%~nxa" if "%%e" neq "!old!" move /y "%%e" "旧图纸备份\"
  15. )
  16. )
  17. rd /q /s tmp>nul 2>nul
  18. pause & exit
  19. :NEW
  20. for /f "delims=" %%a in ('dir/a-d/b "%~1\*" ^|sort /r') do (set "%2=%%a" & goto :eof )
复制代码
================================

TOP

返回列表