在dos命令提示符下是否存在与bash或tcsh中的等效源命令?

我知道,在unix世界中,如果编辑.profile或.cshrc文件,可以使用source〜/ .profile或source〜/ .cshrc来获取当前会话的效果。 如果我在Windows系统variables中更改了某些内容,如何在不退出命令提示符会话并打开另一个命令提示符会话的情况下使当前命令提示符会话生效?

恐怕不行,但是你可以开始使用支持点源的Powershell。 由于PowerShell窗口实际上是基于cmd的,所以你的dos命令将继续工作,并获得新的能量,更多的能量。

在通常的Windows XP DOS框(“cmd”)中,使用“call mybat.bat”做了我想要的:我得到了它设置的所有环境变量。

dos shell将支持只包含变量的.bat文件,这些文件在执行时将在当前环境中创建变量。

c:> type EnvSetTest.bat set TESTXYZ=XYZ c:> .\EnvSetTest.bat c:> set | find "TESTX" TESTXYZ=XYZ c:> 

IHTH。

我发现这个工作的唯一方法是从我自己的配置窗口启动一个新的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将启动一个新的cmd提示符,并将所需的设置导出到命令窗口。

例如设置VC#vars

 C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"