如何包含外部bat脚本中的值

时间:2012-12-04 22:01:21

标签: windows cmd batch-file

我有一个由6个不同的bat脚本共享的代码,它接受一个输入参数。我想知道我是否可以在一个单独的bat脚本中将这个部分外化并导入它,所以每次我更新这段代码时,我都不必更新所有6个bat脚本。

代码:

:Loop
IF "%1"=="" GOTO Prompt
  SET VAR=%1
  GOTO Continue
SHIFT
GOTO Loop
:Prompt
  set /p VAR="Check which value? "
  GOTO Continue
:Continue

2 个答案:

答案 0 :(得分:0)

是的,使用重定向。

拿这个solution.bat文件

    set /p myvar=< somestring.txt

somestring.txt包含“abc”

myvar现在将作为环境变量与abc。

一起存在

答案 1 :(得分:0)

您的代码应该将VAR设置为第一个参数。如果缺少第一个arg,则需要提示输入值。

首先,我会简化你的逻辑。

set "VAR=%~1"
if not defined VAR set /p "VAR=Check which value? "

如上所述,我不明白为什么你觉得需要外化代码。但它可以做到。

在您的主脚本中

call getArg.bat %1

这是getArg.bat

set "VAR=%~1"
if not defined VAR set /p "VAR=Check which value? "
exit /b