« コマンドラインから仮想フォルダの「Start Menu Folder」を開く。 | トップページ | コマンドプロンプトからエクスプローラで(複数)選択したファイルのパス名を取り出す。 »

2006年11月 3日 (金)

FORコマンドでクリップボードを処理する。

大量のファイルをアプリファイルにドロップすると、引数の長さ制限でエラーになります。
そういう場合は、Send To Clipboard As Name などで、一旦クリップボードにパス名を入れて、
FORコマンドでクリップボードからパス名を取り出して処理するとよいでしょう。

@ECHO OFF
FOR /F "delims=" %%0 IN ('MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') DO ECHO %%0

« コマンドラインから仮想フォルダの「Start Menu Folder」を開く。 | トップページ | コマンドプロンプトからエクスプローラで(複数)選択したファイルのパス名を取り出す。 »