SETX和 和有SET什么区别?
根据我的理解:
两者都用于设置环境变量
SETX,用于用户变量。
SET用于外壳变量。
我在路径中的变量值如下
C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;%PYTHON_HOME%\;%PYTHON_HOME%\Scripts;C:\SQLite
Run Code Online (Sandbox Code Playgroud)
当我echo %Path%在命令提示符下键入时,我得到以下输出
PS C:\Users\Arun> echo %Path%
%Path%
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
在 Windows(例如版本 10)中,您可以使用以下命令列出环境变量
set
Run Code Online (Sandbox Code Playgroud)
你如何只列出所有用户都相同的环境变量,或者只列出当前用户或会话的环境变量?
考虑这个例子,我开始一个新的“子”实例cmd.exe,然后尝试在其中设置一个新的环境变量,然后检查它是否设置了正确的值(这是在cmd.exeWindows 10 中):
>cmd /c "SET OPERATION=NEW & SET O"
OneDrive=C:\Users\user\OneDrive
OPERATION=NEW
OS=Windows_NT
Run Code Online (Sandbox Code Playgroud)
因此,如https://superuser.com/a/776506/688965 中所述- 通过这样做,SET O我将“显示以字母 'O' 开头的所有变量”,实际上,它表明OPERATION存在一个环境变量,并且它的值是NEW。到现在为止还挺好。
但是,如果我尝试打印环境的值来代替,它并没有扩大:
>cmd /c "SET OPERATION=NEW & echo %OPERATION%"
%OPERATION%
Run Code Online (Sandbox Code Playgroud)
...但是,如果我尝试扩展任何其他环境变量,它会起作用吗?!:
>cmd /c "SET OPERATION=NEW & echo %OS%"
Windows_NT
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?如何设置环境变量,然后echo在cmd.exe子shell中在一行中打印它?
我安装了Windows 7。
C:\是本地驱动器。 H:\是一个工作网络驱动器,每次启动时都会不断重新安装。我已经学会了在我在家进行任何编码或安装与编码相关的应用程序时断开它,因为我往往会遇到问题。
我第一次安装了 Git 并尝试创建一个存储库。
它给了我以下错误:
error: could not lock config file H:\/.gitconfig: No such file or
directory error: could not lock config file H:\/.gitconfig: No such
file or directory
while executing "exec {C:/Program Files/Git/libexec/git-core/git-config.exe} --global --add
gui.recentrepo C:/Users/bmyhre/Desktop/Testing/projects/skeleton"
("eval" body line 1)
invoked from within "eval exec $opt $cmdp $args"
(procedure "git" line 23)
invoked from within "git config --global --add gui.recentrepo $path"
(procedure "_append_recentrepos" line 16)
invoked from within "_append_recentrepos [pwd]"
(procedure "_git_init" line …Run Code Online (Sandbox Code Playgroud)