我知道,在Unix世界中,如果您编辑的.profile或.cshrc文件,你可以做一个源〜/ .profile或源〜/ .cshrc中,以获取有关当前会话的效果。 如果我在系统变量改变的东西在Windows上,我怎么能拥有它,而无需退出命令提示符会话,并打开一个命令提示符,会议影响当前命令提示符会话?
Answer 1:
恐怕不会,但你可以开始使用PowerShell,该工具不支持点采购。 由于PowerShell窗口确实是基于CMD所以所有的DOS命令将继续工作,并且你获得新的权力,更多的权力。
Answer 2:
在平时的Windows命令提示符(cmd.exe的即),只是用call mybat.bat
做了什么,我想要的。 我拿到它已经设置的所有环境变量。
Answer 3:
DOS外壳将支持包含.bat文件只分配到执行时,就会在当前环境中创建的变量,变量。
c:> type EnvSetTest.bat
set TESTXYZ=XYZ
c:> .\EnvSetTest.bat
c:> set | find "TESTX"
TESTXYZ=XYZ
c:>
我ःŤः。
Answer 4:
下面的例子将帮助你解决你的问题。
env.bat
这个文件是设置变量。 其内容是给予打击。
set name="test3"
test.bat
我们主要的批处理文件。
call env.bat
call print.bat
pause
现在print.bat
批处理文件打印变量。 下面给出其内容
echo %name%
Answer 5:
我发现这工作的唯一方法是从我自己的配置窗口中启动一个新的cmd窗口。 例如:
@echo off
echo Loading...
setlocal enabledelayedexpansion
call 1.cmd
call 2.bat
...
...
if "%LocalAppData%"=="" set LocalAppData=%UserProfile%\Local Settings\Application Data
SET BLAHNAME=FILE:%LocalAppData%\BLAH
call blah blah
cmd
最后CMD将推出一个新的命令提示符与出口到命令窗口所需的设置。
Answer 6:
下面是一些有限的使用情况一个解决方法 。 你可以读入一个命令文件和在线执行。 例如,调用命令文件的样子:
echo OFF
SETLOCAL ENABLEDELAYEDEXPANSION
:
echo. ----------------
echo. set-up java
echo. ----------------
echo.
rem call %DEV_SCRIPTS%\setup-java
for /F "tokens=*" %%A in ( %DEV_SCRIPTS%\setup-java.bat ) do (
%%A
)
call %DEV_SCRIPTS%\show-java
:
在setup-java.bat
文件不能使用%
的扩张。 您需要使用!
; 例如:
set JRE_HOME=!JRE_08!
rem
set JRE_TARGET=!JRE_HOME!
那么,你是litterally source
从文本文件-ing命令。 您将需要测试哪些命令以这种方式采购 。 它花了几个试验只是设置一些环境变量。
我不认为,因为该命令处理器扫描在开始的文件中,我们可以做逻辑或循环。 我确定只是有一个简单的解决方法重用般的环境定义共享的东西。 大多数其他的事情并不需要一个实际的source
命令( 我希望 )。 祝好运。
Answer 7:
例如设置VC#瓦尔
C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
Answer 8:
对于Windows使用git bash中,它工作完全正常!
文章来源: Is there an equivalent source command in Windows CMD as in bash or tcsh?