我目前要做的事情:
cd C:\Program Files (x86)\MyProgram\modules\bin
我想要做的事情:
set dir as %Path%
cd %Path%
有没有一种快速的方法可以从命令提示符执行此操作?另外,我可以从基于 Linux 的 bash shell(如 git bash shell 或 Cygwin)调用这些路径变量吗?
答案1
变量的实际工作方式并非如此path
。
如果将目录添加到路径变量,则无需更改到该目录即可执行程序。
例如,
C:\>set Path=C:\Program Files (x86)\MyProgram\modules\bin;%Path%
C:\>program
将执行C:\Program Files (x86)\MyProgram\modules\bin\program.exe
。
如果您只想将目录的名称存储在变量中(不应该Path
),您可以这样做:
C:\>set myBin="C:\Program Files (x86)\MyProgram\modules\bin"
C:\>cd %myBin%
C:\Program Files (x86)\MyProgram\modules\bin>
如果要为所有命令提示符设置环境变量(无需输入set...
),则可以这样做
Computer [right click] -> Properties -> Advanced System Settings -> Environment Variables
答案2
在命令提示符(cmd.exe
),您可以使用以下方式设置环境变量set
:
set var=value
set "var=value"
并使用以下方式访问它们%var%
:
cd "%var%"
它们还将被放入该cmd.exe
进程的环境中,并被从中运行的所有进程继承。如果你运行狂欢在这个里面命令window,它将具有与 相同的变量$var
。如果你运行Python,就会有os.environ['var']
,等等。
然而,环境变量只能遗传. 如果你改变变量命令或者狂欢, 它会不是更新所有其他正在运行的进程的环境,或者从资源管理器启动的进程的环境,或者从“开始”菜单启动的进程的环境。
上述限制的唯一例外是当程序可以被告知从另一个源重新读取环境时;例如,如果您使用环境配置 UI控制面板 → 系统 → 高级系统设置 → 高级 → 环境变量,Explorer 将从注册表中重新读取环境。
最后,请记住,这%PATH%
是一个特殊变量,用于保存您执行的命令的位置。不要将其设置为任何值;%mydir%
而是使用 或其他任何值。