将变量从批处理脚本子例程传递到子例程

时间:2015-05-21 21:03:03

标签: variables batch-file set call subroutine

我有batch1(父批)调用batch2,3等.Batch2执行一些操作,设置变量(%fullname%)并退出。批处理3应该使用batch2中的变量。

BATCH1

Call Batch2
echo %fullname%
Call Batch3

我试过

Call Batch 3 %fullname%
Call Batch3 %1
etc

回显%fullname%在Batch1中成功。 %fullname%没有进入Batch3。我希望这很简单,因为我厌倦了查看这个批处理文件。另外,我有很多变量和调用,比这个例子更多。

我是否应该抛弃父批并让子批次互相打电话?更简单?例如Batch1调用Batch2,batch2调用batch3,batch3调用batch4等。

我用Google搜索了这个。这个问题显然过于简单,以前没有被问过。

1 个答案:

答案 0 :(得分:1)

batchone.bat:

@echo off
call batchtwo.bat
call batchthree.bat
pause
exit

另存为batchone.bat

batchtwo.bat:

@echo off
::insert code here
set fullname=mechengr02
exit /b

另存为batchtwo.bat

batchthree.bat:

@echo off
echo hello %fullname%
exit /b

另存为batchthree.bat

请注意,这些是三个不同的批处理文件。我刚试过它。

proof 希望有所帮助!