Board logo

标题: [文件操作] [已解决]批处理全盘查找指定文件并替换为指定文件 [打印本页]

作者: 881966    时间: 2023-2-15 17:28     标题: [已解决]批处理全盘查找指定文件并替换为指定文件

本帖最后由 881966 于 2023-2-16 07:58 编辑

求助坛友:批处理全盘查找指定文件并替换为指定文件

全盘查找指定文件1.txt(数量位置不确定),搜索完毕给出文件列表并暂停等待确认再全部替换为指定文件2.txt
  1. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  2.     if exist %%a:\ ( for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\1.txt" 2^>nul') do (if
  3. /i "%%~nxb" equ "1.txt" (echo,%%b
  4. ))))
  5. pause
  6. copy /y "!b!" "2.txt"
复制代码
可以给出文件列表并暂停,但不能全部替换为指定文件。就是说暂停后没传递%%b变量到以后替换

请坛指教,谢谢:handshake
作者: 77七    时间: 2023-2-15 22:10

  1. @echo off
  2. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3.     if exist %%a:\ (
  4. for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\1.txt" 2^>nul') do (
  5. if /i "%%~nxb" equ "1.txt" (
  6. echo,%%b
  7. >>temp.bat echo del "%%~fb"
  8. >>temp.bat echo copy 2.txt "%%~dpb"
  9. )
  10. )
  11. )
  12. )
  13. pause
  14. call temp.bat
  15. del temp.bat
  16. pause
复制代码

作者: Batcher    时间: 2023-2-15 22:11

回复 1# 881966
  1. @echo off
  2. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3.     if exist %%a:\ (
  4.         for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\1.txt" 2^>nul') do (
  5.             if /i "%%~nxb" equ "1.txt" (
  6.                 echo,%%b
  7.                 pause
  8.                 copy /y "C:\XXX文件夹\2.txt" "%%b"
  9.             )
  10.         )
  11.     )
  12. )
  13. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2