执行批处理文件时出错
Error while executing batch file
这是我第一次创建批处理文件。我试图通过在批处理文件中添加以下所有内容来执行。但是流程在 for 循环处停止。这些命令在命令提示符下直接执行时有效。而且我也面临复制命令错误
SET ROOT="C:\Rahul\Projects\sub-folder"
SET WEB1=%ROOT%\folder1.war
SET WEB2=%ROOT%\folder2.war
SET SOURCE=%WEB1% %WEB2%
SET TARGET=C:\Rahul\softwares\apache-tomcat-6.0.29\webapps\
c:
cd C:\Rahul\softwares\apache-tomcat-6.0.29
rmdir /q /s work\Catalina
cd webapps
FOR %i in ("*.war") do rmdir /q /s %~ni
FOR %i in ("*.war") do del /q /s %i
FOR %i in (%SOURCE%) do copy %i %TARGET%
FOR %i in ("*.war") do rmdir /q /s %~ni
将在命令行中工作,但不能在批处理中工作。在批处理文件中,您必须将 %i
替换为 %%i
。应该是这样。
根据我的经验,在 SET
语句中不使用引号通常更容易。然后,用到就用引号。
SET THEVAR=C:\Program Files
DIR "%THEVAR%\Common Files"
这是我第一次创建批处理文件。我试图通过在批处理文件中添加以下所有内容来执行。但是流程在 for 循环处停止。这些命令在命令提示符下直接执行时有效。而且我也面临复制命令错误
SET ROOT="C:\Rahul\Projects\sub-folder"
SET WEB1=%ROOT%\folder1.war
SET WEB2=%ROOT%\folder2.war
SET SOURCE=%WEB1% %WEB2%
SET TARGET=C:\Rahul\softwares\apache-tomcat-6.0.29\webapps\
c:
cd C:\Rahul\softwares\apache-tomcat-6.0.29
rmdir /q /s work\Catalina
cd webapps
FOR %i in ("*.war") do rmdir /q /s %~ni
FOR %i in ("*.war") do del /q /s %i
FOR %i in (%SOURCE%) do copy %i %TARGET%
FOR %i in ("*.war") do rmdir /q /s %~ni
将在命令行中工作,但不能在批处理中工作。在批处理文件中,您必须将 %i
替换为 %%i
。应该是这样。
根据我的经验,在 SET
语句中不使用引号通常更容易。然后,用到就用引号。
SET THEVAR=C:\Program Files
DIR "%THEVAR%\Common Files"