2
@ECHO OFF

SET filename=autoexec.bat

FOR /R C:\ %%a IN (\) DO (
   IF EXIST "%%a\%filename%" (

      SET fullpath=%%a%filename%
      GOTO break
   )
)
:break

ECHO %fullpath%

会给我一条\\介于两者之间的路径。怎么想出只\在两者之间?

4

2 回答 2

1
set filename=autoexec.bat
for /f %%i in ('dir \*%filename% /b /s') do set fullpath=%%i
于 2013-12-03T01:28:14.173 回答
0

这是因为你在做:

FOR /R C:\ %%a IN (\) DO ...

\尝试用*;替换

FOR /R C:\ %%a IN (*) DO ...

括号中的值是您要循环遍历的文件集,星号指定 ALL。

于 2013-12-03T01:25:24.183 回答