私はビデオ変換バッチを作成しました。ユーザーは自分のビデオを任意のディスクまたはパーティションからバッチにドラッグアンドドロップするだけで、変換されたビデオは特定のディスクの特定の場所に保存されます。
コードは次のようになります
@echo off
%~d0
cd %~p0
for %%f in (%*) do ...
pause
実際の問題はにあります(%*)。
ファイルの名前に閉じ括弧が含まれていると、バッチは機能しません。これを修正するために、を使用("%*")しましたが、名前にスペースが含まれているファイルや複数のファイルでは機能しません。
私も試してみまし(%~*)たが、それは無効です。
いくつかの調査の結果、名前file(test)とが付いた複数のファイルをバッチにドロップするとfile test、次のように%*解決されることに気付きました。
file(test) "file test"
これは、ファイル名に引用符が含まれる場合と含まれない場合があることを意味します。
私の質問は:これにどう対処するか?理想的には、解決し
たいと思います(両方の名前が引用符で囲まれています)%*"file(test)" "file test"