在执行之前,如何通过命令行设置可执行文件的工作目录?


35

如果我在命令行上运行某个程序,该程序的位置通过Path环境变量解析,则该程序的工作目录通常设置为其安装目录。

我想从控制台窗口运行这样的程序,并将其工作目录设置为当前目录或其他显式目录。我可以通过将程序临时复制到我的工作目录中来执行此操作-在cmd.exe或powershell.exe环境中还有另一种方法可以完成此操作吗?

Windows Shell类似于此任务,是创建一个快捷方式并相应地设置“开始于”属性。

Answers:


40

要显式设置工作目录,PowerShell解决方案是将Start-Processcmdlet与-WorkingDirectory参数一起使用。

Start-Process -FilePath notepad.exe -WorkingDirectory c:\temp

使用别名start,位置参数和部分参数名称,可以这样写:

start notepad.exe -wo c:\temp

CMD也有一个START命令。为此,使用/D参数指定工作目录:

START /D c:\temp notepad.exe

6

下面将起作用,进行适当的替换并将其保存为.cmd扩展名。

@echo off 
C:
chdir C:\desired\directory
C:\full\path\of\command.exe

将此批处理文件放在您的目录中%PATH%,您应该可以从任何cmd.exe实例调用它。


1
请注意,如果工作目录和可执行文件不在同一分区/驱动器上,则可能会发生时髦现象。
MBraedley's 2012年

2
@LawrenceC,但是,此解决方案需要一个临时文件。最好是不使用临时文件即可实现
Pacerier '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.