実行する前に、コマンドラインから実行可能ファイルの作業ディレクトリを設定するにはどうすればよいですか?


35

Path環境変数を介して場所が解決されるコマンドラインでプログラムを実行すると、通常、プログラムの作業ディレクトリはインストールディレクトリに設定されます。

このようなプログラムをコンソールウィンドウから実行し、その作業ディレクトリを現在のディレクトリまたは他の明示的なディレクトリに設定したいと思います。プログラムを一時的に作業ディレクトリにコピーすることでこれを行うことができました-cmd.exeまたはpowershell.exe環境内でこれを達成する別の方法はありますか?

このタスクに類似したWindowsシェルは、ショートカットを作成し、それに応じて「開始」プロパティを設定することです。

回答:


40

作業ディレクトリを明示的に設定するためのPowerShellソリューションは、Start-Processコマンドレットと-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

2
@LawrenceC、ただし、このソリューションには一時ファイルが必要です。これは何の一時ファイルを使用していない達成することができれば良いでしょう
Pacerier
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.