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    
無料ブログはココログ

« ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。 | トップページ | ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。(その3) »

2008年4月15日 (火)

ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。(その2)

別の回避策は、以下のバッチファイルをバッチファイルに関連付けます。

"フルパス\CMD.CMD" "%1" %*

@if(0)==(0) ECHO OFF
SET ARGS=%*
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "delims=" %%a IN ('CScript.exe //NoLogo //E:JScript "%~f0" !ARGS!') DO (
ENDLOCAL
%%a
)
GOTO :EOF
@end
var args=new Array();
for(var k=0;k<WScript.Arguments.Count();k++){
var arg=WScript.Arguments.Item(k);
args.push(arg.search(/[  =;, ]/)+1?'"'+arg+'"':arg);}
WScript.Echo(args.join(' '));

※2013-06-29修正。読者指摘により、ファイル名に!を含むケースに対応。

« ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。 | トップページ | ファイル名に=;,や全角空白を含むファイルをバッチファイルにドロップすると、ファイル名が分割される。(その3) »