在将文件拖到其上时,我在下面的脚本中收到错误 . goto CONTINUE
行上的错误是 "goto unexpected at this time" .
我读到在某些情况下可以通过使用_485673来防止此错误,但这不适用于此处 .
我还读到,如果未设置errorlevel,则会发生此错误 . 我发现2> nul pushd是在%〜1是文件时设置错误级别,所以在使用命令cmd / c退出0的goto FILE之前重置错误级别 . 这确实重置了错误级别,但错误仍然存在 .
我希望有人能够指出我的方式的错误 . 谢谢!
@echo off
set rootDir=%~dp0
cd "%rootDir%"
del BatchTask.log
echo |TIME|FIND /i "current">>BatchTask.log
echo |DATE|FIND /i "current">>BatchTask.log
:CONTINUE
if %1 == "" goto END
set inDir="%~1"
if exist "%~1" (2>nul pushd "%~1" && (popd&goto FOLDER) || (cmd /c exit 0)&goto FILE)
:FILE
set outDir=%~dp1
IF %outDir:~-1%==\ (SET outDir=%outDir:~0,-1%)
goto CONVERT
:FOLDER
set outDir=%~1
goto CONVERT
:CONVERT
set outDir="%outDir%_Out"
shift
"%rootDir%\out\ReleaseWithSymbols\Converter.exe" %inDir% %outDir%
goto CONTINUE
:END
cd "%rootDir%"
echo |TIME|FIND /i "current">>BatchTask.log
echo |DATE|FIND /i "current">>BatchTask.log
1 回答
我认为这是因为“转移”电话 . 我尝试给这个文件提供两个参数,并且只为第二个文件出错 .
您可以尝试将goto语句放在if条件中 . 喜欢: