0
如果我有这样的doit.bat
脚本:set命令完成运行
@echo off
set MY_VAL=3
echo %MY_VAL%
然后:
> doit
3
> echo %MY_VAL%
3
换句话说,默认情况下set
命令仍然存在变数呼叫环境。这与Unix不同,您必须使用source
脚本才能实现此目的。
我试图找出如何能够做到以下几点:
- 设置变量在
.bat
脚本,但没有让他们坚持到环境中的脚本完成后 - 也就是有Windows行为更像是Unix。 - 与此同时,我仍然希望在运行
.bat
脚本时为任何分叉的环境设置这些变量 - 即等效于通过Unixexport
命令设置变量。
有没有办法做到这一点,要么通过其他cmd
命令或一些选项set
?我搜索和文档,但找不到任何东西。
请仔细阅读标签信息应用标签之前!我相当肯定你没有使用MS - ** DOS **,是吗?无论如何,对于你的第一点(本地化环境),你正在寻找的命令是'setlocal'和'endlocal';所以通常在批处理文件('@echo off'下面)有一个'setlocal'命令; 'endlocal'被认为是可选的,因为在批处理文件被终止时有一个隐式的'endlocal'。对于你的第二点(分叉环境),没有本地命令来完成...... – aschipfl