0

我编写的批处理文件如下:

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

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

我想抑制错误消息并自动移动到第二行执行。

4

1 回答 1

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”键,因此,如果最后出现错误,执行将不会停止。

于 2013-04-25T13:34:41.090 回答