在bat中运行多个bat文件并传递参数

时间:2011-02-23 17:20:35

标签: batch-file

我的问题与将参数传递给bat文件有关。第一个参数正确传递给bat,但第二个参数传递给它是emtpy。

示例:

set comport = com4
call bat1.bat %comport%       ->comport is com4
if errorlevel 1 goto end
call bat2.bat %comport%       ->comport is empty

所以在第一次调用bat1.bat后,comport为空。在调用bat1.bat之后,如何让“主”蝙蝠级别的调用参数保留在内存中?

1 个答案:

答案 0 :(得分:2)

@echo off
set comport=com4
setlocal&(call bat1.bat %comport%)&endlocal
if errorlevel 1 goto end
call bat2.bat %comport%
:end

setlocal仅适用于WinNT4 +,而不适用于DOS或Win9x,如果你需要支持那些你必须在调用bat1.bat之前将%comport%保存到其他变量然后恢复值