【发布时间】:2015-05-21 21:03:03
【问题描述】:
我有调用 batch2、3 等的 batch1(父批处理)。Batch2 做了一些事情,设置一个变量 (%fullname%) 并退出。批次 3 应该使用来自批次 2 的变量。
批次1
Call Batch2
echo %fullname%
Call Batch3
我试过了
Call Batch 3 %fullname%
Call Batch3 %1
etc
回显 %fullname% 在 Batch1 中成功。 %fullname% 没有进入 Batch3。我希望这是我缺少的一些简单的东西,因为我厌倦了查看这个批处理文件。另外,我有很多变量和调用,比这个例子显示的要多。
我应该放弃父批次并让子批次相互调用吗?更简单?例如Batch1 调用 Batch2,batch2 调用 batch3,batch3 调用 batch4 等等。
我已经用谷歌搜索过了。这个问题显然太简单了,以前没有问过。
【问题讨论】:
-
batch1中
%fullname%的内容是否成功回显?你在批处理文件中使用 setlocal`s 吗? -
在Batch1中回显%fullname%成功。
-
在第 2 或第 3 批中没有
setlocals。我在第 1 批中使用了setlocal,但它是在我提供的这个示例之后。 -
fullname的内容是什么?像"<>&|%!这样的空格或字符有什么特别之处吗?在开头添加echo %*时在batch3 中看到了什么? -
%fullname%是名字姓氏。所有带有空格的文本。我也有数字变量的问题。
标签: variables batch-file set call subroutine