web-dev-qa-db-ja.com

cmd.exeから特定のディレクトリでエクスプローラウィンドウを開くにはどうすればよいですか?

他の多くのプログラム をバッチファイルから起動する方法はわかりますが、Mac OS Xでは open のようなコマンドが見つかりません。ツールはWindowsに存在しますか? Powershell、または実行可能ファイルからのWindows API呼び出しも機能します。

23
Robert Karl

Windowsでは、次のコマンドでエクスプローラーを開くことができます。

C:\Users\Leniel>start %windir%\Explorer.exe

特定のフォルダを開くには、たとえば次のようにします。

C:\Users\Leniel>start %windir%\Explorer.exe "C:\Users\Leniel\Desktop"
26

OS Xのopenに直接相当するものは、startcmdです。

start foo.txt

メモ帳(または使用しているテキストエディタ)を起動します。

start http://example.com

ブラウザを起動し、

start \someDirectory

エクスプローラなどを起動します.

startは最初に引用された引数を使用するウィンドウタイトルとして解釈するため、引数は引用符で囲む必要があります。

start "C:\Users\Me\Folder with spaces\somedocument.docx"

意図したとおりに機能しません。その場合、代わりに空の引用符付きの引数を付加します。

start "" "C:\Users\Me\Folder with spaces\somedocument.docx"

startは独立したプログラムではなく、シェルで作成されたものであることに注意してください。したがって、これを外部プログラムから呼び出すには、次のようなものを使用する必要があります

cmd /c start ...

PowerShellでこれに相当するものは、Start-ProcessまたはInvoke-Item。後者はおそらくこのタスクに適しています。

Invoke-Item foo.txt  # launches your text editor with foo.txt
Invoke-Item .        # starts Explorer in the current directory

Windows APIに関しては、ShellExecute動詞で open を探しています。

17
Joey