質問

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

役に立ちましたか?

解決 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.

他のヒント

set filename=autoexec.bat
for /f %%i in ('dir \*%filename% /b /s') do set fullpath=%%i
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top