DOS系统路径

时间:2008-12-08 16:34:07

标签: dos cmd

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

是的,我嫉妒Linux shell。

2 个答案:

答案 0 :(得分:6)

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

@echo off

FOR /D %%G IN (%1\*) DO PATH "%%G";%path%

答案 1 :(得分:5)

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

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

相反,我推荐这种方法:

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