是否可以使用包含一些常见变量的批处理文件,然后在其他脚本中包含此脚本,以便变量在那里可见?
这是一种常见的方法吗?
答案 0 :(得分:1)
试试这个(在第一个脚本中):
set>variables.txt
..并在第二个脚本中:
for /f "delims=" %%i in (variables.txt) do set %%i
编辑: 为一组变量(第一个文件)执行此操作:
::define some variables
set "_myvar1=value1"
set "_myvar2=value2"
set "_myvar3=value3"
::save them to a text file
set _myvar>variables.txt
这会将标题为_myvar
的所有变量保存到文本文件中。第二个脚本的代码不会改变。
答案 1 :(得分:1)
简单地说,在需要查看“共享”值
的脚本中CALL yourbatchthatsetsthecommonvariables.bat
但是这些变量的更改将被隔离到特定的CMD
实例 - 它们不会在实例之间进行通信。
AND 此COMMON.BAT
为任何实例返回的值将是与当前实例相关的值。
所以:假设你有COMMON.BAT
set mytime=%time%
set myval=abc123
然后是实例1 ...或实例2
...
call COMMON.BAT
...
会将myval
设置为abc123
,但将mytime
设置为每次调用COMMON.BAT
答案 2 :(得分:1)
当然,这也很常见。
让我们在config.bat
中说出你的变量:
set PATH=c:\opt\tools\jdk1.6;%PATH%
set CLASSPATH=c:\opt\projects\myproject\jars;%CLASSPATH%
然后你可以拥有例如start-dev.bat
:
call common.bat
javaw -cp %CLASSPATH% -Denv=dev
start-prod.bat
:
call common.bat
javaw -cp %CLASSPATH% -Denv=prod