[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 qixiaobin0715 于 2023-11-14 12:02 编辑
  1. @echo off
  2. set "src=E:\A"
  3. set "dst=E:\B"
  4. cd "%src%"
  5. for /f "delims=" %%a in ('dir /s /b /ad') do (
  6.     pushd "%%a"
  7.     if exist *.xls (
  8.         for /f "delims=" %%b in ('dir /b /a-d *.xls') do (
  9.             copy "%%b" "%dst%\%%~nxa_%%b"
  10.         )
  11.     )
  12.     popd
  13. )
  14. pause
复制代码
还原:
  1. @echo off
  2. set "src=E:\A"
  3. set "dst=E:\B"
  4. move "%dst%\*_*.xls" "%src%\"
  5. cd "%src%"
  6. for /f "tokens=1* delims=_" %%a in ('dir /b /a-d *_*.xls') do (
  7.     for /f "delims=" %%i in ('dir /b /s /ad "%%a"') do (
  8.         move "%%a_%%b" "%%i\"
  9.     )
  10. )
  11. pause
复制代码
未测试,请慎用。
以上代码只会处理子文件夹中的指定格式的文件,如果需要同时处理E:\A文件夹下的文件还需要增加几行代码。

TOP

回复 3# 001011
说明某些文件夹中不存在xls文件,加个判断,已修改。

TOP

回复 6# 001011
pushd后面成空白,忘记加路径了,已修改。

TOP

返回列表