« ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。(その4) | トップページ | ファイル名に&を使うときは、半角空白も併せて使うべし。(その2) »

2009年2月18日 (水)

ファイル名に&を使うときは、半角空白も併せて使うべし。

もし、ファイル名に&を使っていて、パス名に半角空白がないと、バッチファイルにドロップしたときに、&以降がコマンドとして実行されちゃいます。桑原桑原
もし、パス名に半角空白があれば、"~"でエスケープされるので、安全です。

バッチ側でこの問題を回避するには、CMDCMDLINEを使います。

1ファイルだけなら、手抜きですが、以下を試してみてください。

SETLOCAL ENABLEDELAYEDEXPANSION
SET ARG=!CMDCMDLINE:*" =!
SET ARG="!ARG:"=!"
ECHO;!ARG!
PAUSE
EXIT

« ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。(その4) | トップページ | ファイル名に&を使うときは、半角空白も併せて使うべし。(その2) »