Windowsのコマンドシェルでスペースをエスケープできない

私が実行すれば

cmd /c "%programfiles%\mycode\md5sums.exe" %temp%

それはうまく動作します。しかし、私が実行すると

cmd /c "%programfiles%\mycode\md5sums.exe" %programfiles%

私は、

Error: Unable to read file/directory C:\Program

これは、md5sums.exeが、%programfiles%によって指定された完全なパスではなく、 C:\ Program

私はこのコマンドをリモートで実行するので、 cmd/c を使用しなければなりません。

私はそれをどのように機能させるのですか? 私は ``%programfiles% ''を使ってみましたが、この場合でもmd5sums.exeは実行されません。

最終的に私はmd5sums.exeによって提供されるスイッチ "/ b"を使用したいと思いますが、この時点ではmd5sumsを%programfiles%

1
私は "/ c"%programfiles%\ mycode \ md5sums.exe "%programfiles%" を使って動作させました。/b code> md5sums.exeに切り替えますか?
追加された 著者 user837208,
申し訳ありません...私は -b スイッチをどのように追加するのですか?
追加された 著者 user837208,
/c の既存の2つの引数の間に別の引数として追加します。 cmd/c "md5sum" "-b" "%programfiles%"
追加された 著者 Sorpigal,

2 答え

試してください:

cmd /c "%programfiles%\mycode\md5sums.exe" "%programfiles%"
                                           ^--------------^--quotes added

さもなければ、あなたは次のようなものになります:

cmd /c "C:\Program Files\mycode\md5sums.exe" C:\Program Files

最終的には、単一のパスではなく、md5sumsに2つの引数を渡します。

4
追加された

開始時と終了時に二重引用符が必要です 例えば。:

cmd/c ""%programfiles%\ mycode \ md5sums.exe ""%programfiles% ""

0
追加された