Question

@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?

Was it helpful?

Solution 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.

OTHER TIPS

set filename=autoexec.bat
for /f %%i in ('dir \*%filename% /b /s') do set fullpath=%%i
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top