22

ドラッグアンドドロップのバッチファイルを作ってみました。

ファイルが存在するのにバッチファイルが見つからないという問題があります...

.pngファイル ( などpict_2013020808172137243.png) を別のフォルダーにコピーして名前を変更したい。

パスには や スペースなどの記号が_あります。また、同じ機能を作成するためにマルチドラッグアンドドロップを作成する方法もわかりません(名前を変更してに追加し.zipます)。

私はこれを試しましたが、結果はありません:(

@ECHO OFF
ECHO %1
COPY "%1" "%CD%\test\" /Y /S 
REN "%CD%\mob\*.png" "%CD%\test\test.png"
7za u -tzip "%appdata%\.virto\pack.zip" "test" -r
4

1 に答える 1

46

バッチ ファイルのドラッグ アンド ドロップの実装が不適切です。
スペースが存在する場合は名前が引用されますが、特殊文字が見つかった場合は引用されません。&,;^

ファイル名のみのスペースについては、コードを少しだけ変更する必要があります。

@ECHO OFF
ECHO "%~1"
COPY "%~1" "%CD%\test\" /Y /S 
MOVE "%CD%\mob\*.png" "%CD%\test\test.png"
7za u -tzip "%appdata%\.virto\pack.zip" "test" -r

%~1常に引用されていないバージョンに展開されるため、常に安全な方法で引用できます。

"c:\Docs and sets" -> %~1 -> c:\Docs and sets -> "%~1" -> "c:\Docs and sets"
c:\Programs -> %~1 -> c:\Programs -> "%~1" -> "c:\Programs"

詳細については、バッチ ファイルを複数のファイルにドラッグ アンド ドロップしますか? を参照してください。

于 2013-02-09T11:29:44.367 に答える