返回列表 发帖
应该是查找文件夹的姿势不对,不是系统差异,是文件夹位置差异

  1. @echo off
  2. cd /d "%~dp0"
  3. set "target=PETOOLS"
  4. set "regfile=1.reg"
  5. set "found="
  6. 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 (
  7. if exist "%%a:\" (
  8. for /f "delims=" %%d in ('dir /b /s /ad "%%a:\%target%?"') do (
  9. if /i "%%~nxd" equ "%target%" (
  10. if /i "%%d" neq "%%a:\%target%" (
  11. set found=%%d
  12. call set "found=%%found:\=\\%%"
  13. goto :replace
  14. )
  15. )
  16. )
  17. )
  18. )
  19. :replace
  20. if defined found (
  21. (for /f "delims=" %%a in ('find /n /v "" ^< "%regfile%"') do (
  22. set str=%%a
  23. setlocal enabledelayedexpansion
  24. set "str=!str:C:\\PETOOLS=%found%!"
  25. echo=!str:*]=!
  26. endlocal
  27. )) > #
  28. move # "%regfile%"
  29. echo SUCCESS
  30. ) else (
  31. echo FAILED
  32. )
  33. pause
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表