It's because you are doing:
FOR /R C:\ %%a IN (\) DO ...
Try instead, replacing the \
with *
;
FOR /R C:\ %%a IN (*) DO ...
The value in the brackets is the file set that you want to loop through, an asterisk specifies ALL.
Pergunta
@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%
Will give me a path with \\
in between. How to come up with only \
in between?
Solução 2
It's because you are doing:
FOR /R C:\ %%a IN (\) DO ...
Try instead, replacing the \
with *
;
FOR /R C:\ %%a IN (*) DO ...
The value in the brackets is the file set that you want to loop through, an asterisk specifies ALL.
Outras dicas
set filename=autoexec.bat
for /f %%i in ('dir \*%filename% /b /s') do set fullpath=%%i