如何访问在不同的 Windows 批处理文件中设置的变量?

如何访问在不同的 Windows 批处理文件中设置的变量?

我有一个名为 fileA.bat 的 Windows 批处理文件,其中包含一个变量集。fileA.bat 的示例代码:

set fileA_username=michael

现在我有另一个批处理文件,名为fileB.bat,它需要访问fileA.bat中设置的这个变量。

因此,我在 fileB.bat 中编写的代码将执行如下操作:

set fileB_username = %fileA_username%

然后在脚本代码中继续使用fileB_username。

FileB 将在执行过程中调用 fileA,如下所示:

文件B中的代码:

---
---
call fileA.bat
---
---
set fileB_username = fileA_username
---
if fileB_username
----

如何访问在外部批处理文件中设置的变量?谢谢。

答案1

fielA_username变量名称: vs.中存在拼写错误fileA_username,否则您的代码是好的。此外,您应避免=在 signSET命令周围使用漂亮的空格,因为它们将成为变量名称及其值的一部分(尝试:)SET foo=bar && SET foo = bar && SET foo


@REM this is setenv.bat

SET ENV=IRON

@REM and this is "main" script

CALL setenv.bat

@REM append something to the value
SET ENV=%ENV%MENT

REM print the current value
SET ENV

答案2

除非您SETLOCAL在批处理文件 A 中明确指定或取消设置变量,否则该变量将是全局的并且可供您的第二个批处理文件访问。

如需了解更多信息,请参阅为什么要在 Windows 批处理文件中卸载变量

相关内容