« LeftA(文字列, バイト長)とMidA(文字列, 開始バイト位置, バイト長)関数を作る(VB.NET) | トップページ | JIS非漢字、第一水準、第二水準の判別方法 »

2008年10月 6日 (月)

ショートカットに書けるバッチワンライナーの作り方

バッチファイルにすると、アイコンやウィンドウサイズが変えられないし、ショートカットにするとバッチスクリプトが書けないし。。。

そこで、ショートカットに書けるバッチワンライナーの作り方です。

問題は、ドロップしたファイル名が行の末尾に付くのに、それらを行の前方のコマンドから扱えないことです。

そこで、for文とif else文で、行の前後の実行順序を逆転させます。

以下はドロップしたファイル名をechoする例です。

cmd.exe /v:on /k for /l %n in (1,1,2) do if %n==2 (for %q in (!x!) do echo %q) else set x=

次はclip.exeを利用してドロップしたファイル名をクリップボードにコピーします。

cmd.exe /c for /l %n in (1,1,2) do if %n==2 ((for %q in (%x%) do @echo %q)|clip) else set x=

« LeftA(文字列, バイト長)とMidA(文字列, 開始バイト位置, バイト長)関数を作る(VB.NET) | トップページ | JIS非漢字、第一水準、第二水準の判別方法 »