DOS系统路径

4 cmd dos

有没有办法以编程方式,通过批处理文件(或powershell脚本),将所有文件夹c:\Program Files放入系统变量PATH?我依赖于命令行,并且真的想从命令行启动一个程序.

是的,我嫉妒Linux shell.

Gre*_*man 6

将"C:\ Program Files"作为参数传入此批处理文件:

@echo off

FOR /D %%G IN (%1\*) DO PATH "%%G";%path%
Run Code Online (Sandbox Code Playgroud)


Rob*_*ams 5

在调用DLL Hell的意义上,这样做很可能会破坏您的计算机.当您调用每个可执行文件时,操作系统将查看每个目录PATH以查找每个DLL,甚至是该可执行文件引用的EXE.当您添加更多目录时,操作系统很可能会找到错误的操作系统PATH.

因此,最佳做法是避免增加PATH,甚至减少它.而不是隐式依赖,使它们显式.

相反,我推荐这种方法:

  1. bin在用户主目录中创建目录
  2. 将该bin目录添加到用户PATH变量中
  3. bin目录中为要从命令行调用的每个应用程序创建一个Windows CMD脚本(与您要键入的可执行文件的名称相同)
  4. 在每个脚本中,调用SetLocal,将应用程序的安装目录(下%ProgramFiles%)添加到PATH,然后使用命令行中的参数调用可执行文件
  5. 从中删除相关目录PATH,以便此脚本成为调用可执行文件的唯一方法