Windows .cmd ファイルまたはバッチファイルでパスにスペースを含むパス変数を設定する 質問する

Windows .cmd ファイルまたはバッチファイルでパスにスペースを含むパス変数を設定する 質問する

私はスクリプト作成の初心者で、これをうまく動作させることができません。スペースのないパスにファイルを移動すれば動作させることができましたが、できればスペースがあっても動作させたいと思います。

.cmd ファイルを含むフォルダーに、Office 更新プログラムの束を抽出したいと考えています。バッチ ファイルをどのコンピューターでも使用できるようにするために、パス変数を設定します。この変数は、別のコンピューターで実行するために 1 か所だけ変更する必要があります。問題は、パスにスペースが含まれていることです。定義でパスを引用符で囲むと、cmd.exe はファイル名とスイッチを追加する前にパスを引用符で囲み、バッチは「コマンド ライン構文エラー」で失敗します。引用符がない場合、「内部または外部コマンド、操作可能なプログラム、またはバッチ ファイルとして認識されません」で失敗します。

テストのために、ヘルプ スイッチを使用して、動作するかどうかを確認します。8.3 形式のファイル/フォルダー名 (例: My Documents を MyDocu~1) を使用して実行できますが、別の方法で実行できますか?

ベストアンサー1

次のようなことを試してください:

SET MY_PATH=C:\Folder with a space

"%MY_PATH%\MyProgram.exe" /switch1 /switch2

おすすめ記事