绕过消息 - 批处理文件

时间:2013-04-25 06:43:10

标签: batch-file

我已经编写了批处理文件,如下所示:

D:\Build\Build_2.0.023\GrConv\FTGraphicConverter.exe -s "D:\Customer Data\JSM Prj\JSM_DEMO\HIS0364\WINDOW\L3_TB3B_MNFLD.EDF" -d "D:\FastTools\FTOutput\common" -l "D:\FastTools\VPInput\CentumTagsToFASTTOOLSitems.csv"


D:\Build\Build_2.0.023\GrConv\FTGraphicConverter.exe -s "D:\Customer Data\JSM Prj\JSM_DEMO\HIS0364\WINDOW\L3_TB3B_MNFLD.EDF" -d "D:\FastTools\FTOutput\common" -l "D:\FastTools\VPInput\CentumTagsToFASTTOOLSitems.csv"



xcopy D:\FastTools\FTOutput\common\Displays C:\Users\Public\tls\wap\cfg\operatorInterfaces\DEPLOY\displays /y

当我运行它并且由于某种原因第一行失败时它会在命令窗口显示错误消息,并且不会在没有人工干预的情况下移动第二行执行。

我想压制错误信息并自动转到第二行执行。

1 个答案:

答案 0 :(得分:0)

使用Start / B在启动进程时不会停止执行脚本,这意味着所有以“/ B”开头的进程将立即启动:

Start /B Process.exe

Start /B "" "D:\Build\Build_2.0.023\GrConv\FTGraphicConverter.exe" -s "D:\Customer Data\JSM Prj\JSM_DEMO\HIS0364\WINDOW\L3_TB3B_MNFLD.EDF" -d "D:\FastTools\FTOutput\common" -l "D:\FastTools\VPInput\CentumTagsToFASTTOOLSitems.csv"

使用输出重定向排除错误消息:http://ss64.com/nt/syntax-redirection.html

简化代码:

@Echo OFF

Set "FTGraphicConverter_ExecutablePath=D:\Build\Build_2.0.023\GrConv\FTGraphicConverter.exe"
Set "EDF_File=D:\Customer Data\JSM Prj\JSM_DEMO\HIS0364\WINDOW\L3_TB3B_MNFLD.EDF"
Set "CSV_File=D:\FastTools\VPInput\CentumTagsToFASTTOOLSitems.csv"
Set "Output_Dir=D:\FastTools\FTOutput\common"

Set "Input_Displays_Dir=D:\FastTools\FTOutput\common\Displays"
Set "Outut_Displays_Dir=C:\Users\Public\tls\wap\cfg\operatorInterfaces\DEPLOY\displays"

Start /B "" "%FTGraphicConverter_ExecutablePath%" -s "%EDF_File%" -d "%Output_Dir%" -l "%CSV_File%" 2>NUL

%FTGraphicConverter_ExecutablePath% -s "%EDF_File%" -d "%Output_Dir%" -l "%CSV_File%"

xcopy /y "%Input_Displays_Dir%\*" "%Outut_Displays_Dir%\"

修改

如果您不想在/ Background中启动进程并且只想自动与错误消息进行交互,那么:

Echo Y| Start process.exe

如果process.exe在最后发送一条错误消息,用户提示询问“Y”“N”键的问题,那么我们会自动发送“Y”键,如果错误结束则执行不会停止。