2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

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

2009年2月18日 (水)

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

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

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

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

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

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