Syntax 我如何理解3行批处理脚本?

Syntax 我如何理解3行批处理脚本?,syntax,batch-file,cmd,Syntax,Batch File,Cmd,这对我来说真是一团糟(比如ECHO@ECHO OFF,这是用来干什么的?第一行生成批处理文件(注意“>”将输出重定向到第一行末尾的文件)。第三行确保输出可见,第四行执行第一行中生成的批处理文件 至于生成的批处理做什么:似乎它重新创建了一些swf文件:首先删除swf文件: ECHO @ECHO OFF ^& (IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf")) ^& %mxmlcPath% %opts% -file-specs "%%

这对我来说真是一团糟(比如
ECHO@ECHO OFF
,这是用来干什么的?

第一行生成批处理文件(注意“>”将输出重定向到第一行末尾的文件)。第三行确保输出可见,第四行执行第一行中生成的批处理文件

至于生成的批处理做什么:似乎它重新创建了一些swf文件:首先删除swf文件:

ECHO @ECHO OFF ^& (IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf")) ^& %mxmlcPath% %opts% -file-specs "%%~dp0%~nx1" ^& (IF EXIST "%%~dp0%~n1.swf" (CALL "%%~dp0%~n1.swf") ELSE (PAUSE)) > "%~dpn1.bat"
REM Immediately execute the generated bat
@ECHO on
CALL "%~dpn1.bat"
然后使用mxmlcPath环境变量中定义的程序创建:

"(IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf"))" 
如果创建成功,它将在默认swf播放器中运行:

%mxmlcPath% %opts% -file-specs "%%~dp0%~nx1"
在其他情况下,它等待用户输入(以便您能够读取所有错误消息等):

有关所有“%~dp0”等语法的解释,请参见一些windows命令的文档,例如:

ELSE (PAUSE)

第一行生成批处理文件(注意“>”将输出重定向到第一行末尾的文件)。第三行确保输出可见,第四行执行第一行中生成的批处理文件

至于生成的批处理做什么:似乎它重新创建了一些swf文件:首先删除swf文件:

ECHO @ECHO OFF ^& (IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf")) ^& %mxmlcPath% %opts% -file-specs "%%~dp0%~nx1" ^& (IF EXIST "%%~dp0%~n1.swf" (CALL "%%~dp0%~n1.swf") ELSE (PAUSE)) > "%~dpn1.bat"
REM Immediately execute the generated bat
@ECHO on
CALL "%~dpn1.bat"
然后使用mxmlcPath环境变量中定义的程序创建:

"(IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf"))" 
如果创建成功,它将在默认swf播放器中运行:

%mxmlcPath% %opts% -file-specs "%%~dp0%~nx1"
在其他情况下,它等待用户输入(以便您能够读取所有错误消息等):

有关所有“%~dp0”等语法的解释,请参见一些windows命令的文档,例如:

ELSE (PAUSE)

那么
ECHO@ECHO OFF
,这是干什么用的?@Runner:ECHO输出行的其余部分。通常,它会将其输出到屏幕上,但在最后使用重定向操作符(
)时,它会输出到文件中
@echo off
是一个不显示批处理文件中正在执行的当前命令的命令。正如chalup所说,这将创建一个批处理文件,创建的批处理文件的第一行将读取
@echo off
,然后读取其余的…我知道
@echo off
,但是为什么
echo@echo off
?在控制台窗口中键入echo@echo off,看看会发生什么。然后键入ECHO@ECHO OFF>generatedScript.bat并查看generatedScript.bat的内容关于
ECHO@ECHO OFF
,这是干什么的?@Runner:ECHO输出行的其余部分。通常,它会将其输出到屏幕上,但在最后使用重定向操作符(
)时,它会输出到文件中
@echo off
是一个不显示批处理文件中正在执行的当前命令的命令。正如chalup所说,这将创建一个批处理文件,创建的批处理文件的第一行将读取
@echo off
,然后读取其余的…我知道
@echo off
,但是为什么
echo@echo off
?在控制台窗口中键入echo@echo off,看看会发生什么。然后键入ECHO@ECHO OFF>generatedScript.bat并查看generatedScript.bat的内容