我有一个名为 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 批处理文件中卸载变量