有没有在Windows CMD的等效源命令在bash或tcsh?有没有在Windows CMD的等效

2019-05-13 18:37发布

我知道,在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?