ファイル名にスペースを含むプログラムを呼び出すにはどうすればいいですか?

ファイル名にスペースを含むプログラムを呼び出すにはどうすればいいですか?

次のようなコマンドラインを実行しようとしましたstart /max C:\Program files\foo\ba.exe -somearguments

しかし、問題があります。cmd が次のようなエラー メッセージを返しThe system cannot found the C:\Program file、引用符で囲むとC:\Program files\foo\ba.exe、MAX モードで新しいウィンドウ cmd が実行され、プログラムは実行されません。

これを修正するにはどうすればいいでしょうか?

答え1

スペースを含むすべてのファイル名とパスは引用符で囲む必要があります。

次に、ご質問に関してですが、次のようにパスを記載してみてはいかがでしょうか。

start /max /d"C:\Program files\foo\" ba.exe -somearguments

答え2

このエラーは、システムがコマンドをファイルC:\Programおよびfileコマンドの引数として解釈したために発生しました。明らかに、ファイルが見つからずProgram、このエラーが返されました。

これを修正するには、""単語の間にスペース文字を入れるか、パス全体に含めるだけです。

start /max C:\"Program files"\foo\ba.exe -somearguments

または

start /max "C:\Program files\foo\ba.exe" -somearguments

答え3

パスを引用符で囲むのが最も簡単で読みやすい方法ですが、~1ファイルに古い DOS 短縮名を使用することもできます (DOS は 8.3 命名規則に従っていたため、8 文字を超えるファイル名は で切り捨てられました)。これらの名前にはスペースが含まれません。ファイルの短縮名は、 コマンドで確認できますDIR /X

答え4

Win10 ではこれを試すことができます:

start /max C:\Program%20files\foo\ba.exe -somearguments

関連情報