for循环停止批处理脚本

for循环停止批处理脚本

好的,我一直在玩这个脚本,由于某些未知原因,当脚本到达 for 语句时,它总是崩溃(退出提示符),但是,如果我只是将这些命令逐个复制并粘贴到 cmd 中,它就可以正常工作。有人能告诉我这是为什么吗,或者我该如何解决这个问题?谢谢

@echo off

CD C:\RemoteInstall\Boot\

set /p name=Enter the wim file name (no extension):

SET name=%name:~0%.wim

echo+ %name%

timeout >nul 2

FOR /f "tokens=*" %a in ('dir "%name%" /b /s') do set p=%~a

SET p=%p:~0%

echo %p%

timeout >nul 2

xcopy "%p%" C:\imagefix\image /y
timeout >nul 2

pause

答案1

好吧,我自己解决了这个问题,原来我必须避开 FOR 语句中的分隔符,现在看起来像这样

FOR /f "tokens=*" %%a in ('dir "%name%" /b /s') do set p=%%~a

相关内容