执行批处理文件时出错

时间:2015-06-05 10:32:52

标签: windows batch-file command-line

这是我第一次创建批处理文件。我试图通过在批处理文件中添加以下所有内容来执行。但是流量在for循环处停止。在命令提示符下直接执行时,这些命令有效。而且我也面临着复制命令

的错误
SET ROOT="C:\Rahul\Projects\sub-folder"

SET WEB1=%ROOT%\folder1\1.war
SET WEB2=%ROOT%\folder2\2.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%

2 个答案:

答案 0 :(得分:1)

FOR %i in ("*.war") do rmdir /q /s %~ni将在命令行中运行,但不能在批处理中运行。在批处理文件中,您必须将%i替换为%%i。这应该是它。

答案 1 :(得分:0)

根据我的经验,在SET语句中不使用引用更容易。然后,无论何时使用它都要使用引用。

SET THEVAR=C:\Program Files
DIR "%THEVAR%\Common Files"