Board logo

标题: [文本处理] 批处理查找到了文件并替换文件 出现了问题此时不应有 s\guxin2.txt。 [打印本页]

作者: q1142286199    时间: 2019-6-18 15:05     标题: 批处理查找到了文件并替换文件 出现了问题此时不应有 s\guxin2.txt。

  1. @echo off
  2. rem 指定待搜索的文件
  3. set "guxin1=guxin1.txt"
  4. set "guxin2=guxin2.txt"
  5. set path1=1
  6. set path2=2
  7. echo 正在搜索,请稍候...
  8. 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 (
  9.   if exist %%a:\ (
  10.     for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%guxin1%" 2^>nul') do (
  11.       if /i "%%~nxb" equ "%guxin1%" (
  12.         echo,%%b
  13. set path1=%%b
  14.       )
  15.     )
  16.   )
  17. )
  18. echo %path1%
  19. if %path1% equ 1 (
  20. exit
  21. )
  22. 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 (
  23.   if exist %%a:\ (
  24.     for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%guxin2%" 2^>nul') do (
  25.       if /i "%%~nxb" equ "%guxin2%" (
  26.         echo,%%b
  27. set path2=%%b
  28.       )
  29.     )
  30.   )
  31. )
  32. if %path2% equ 2 (
  33. exit
  34. )
  35. echo %path2%
  36. set path3=%path2:guxin2.txt=%
  37. set path5=%path2:guxin2.txt=guxin1.txt%
  38. echo %path5% .....
  39. copy %path1% %path3%
  40. del %path2%
  41. ren %path5% %guxin2%
  42. pause
复制代码

作者: q1142286199    时间: 2019-6-18 15:10

set path3=%path2:guxin2.txt=%
应该是这一块替换我的路径是 D:\log s\guxin2.txt
作者: Batcher    时间: 2019-6-18 15:10

把 @echo off 删掉
代码保存为 C:\test.bat
打开一个CMD窗口,执行命令:
C:\test.bat

这样可以看到详细的报错信息或者线索。如果自己看不懂,就发出来大家一起看看。
作者: Batcher    时间: 2019-6-18 15:12

回复 2# q1142286199


set "path3=%path2:guxin2.txt=%"
加上引号试试
作者: q1142286199    时间: 2019-6-18 15:14

回复 3# Batcher


    我看看谢谢你




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