Windows2000、XPに付属しているIEXPRESS.EXEで、バッチファイルやVBSを擬似的にEXEにする(自己伸張形式のCABにする)というTIPSは良く知られている。
これによりバッチファイルの中身を見にくくするとか、右クリック→「別ユーザとして実行」を有効にするとか、ショートカットとして扱うことも簡単になる、つーアレだ。 俺もたまに使うのだが、ちゃんと拡張子を見てくれてるみたいだ、ということに最近気づいた。 つまり、*.BATのファイルをEXEにすると 例えば、こういうバッチファイル。 @ECHO OFF これをうっかり、TEST.BATという名前でセーブしてしまった。: TEST ECHO NOTEPAD起動 START /W C:\WINDOWS\system32\NOTEPAD.EXE ECHO NOTEPAD終了 : ECHO CALC起動 START /W C:\WINDOWS\system32\Calc.EXE ECHO CALC終了 : ECHO COPY開始 COPY "C:\Documents and Settings\SIGNAL9\デスクトップ\TEST\DUMMY.TXT" "C:\Documents and Settings\SIGNAL9\デスクトップ\TEST\DUMMY2.TXT" ECHO COPY終了 PAUSE 単純にダブルクリックすればこのBATはきちんと動作するので気づかなかったのだが、これをIEXPRESSでEXEにすると動かない。 原因はファイルの拡張子がBATだったためらしく、CMDに直して再度EXE化するとうまく行ったのである。 要するに、STARTとかLFNのパスとかはcommandではサポートされてないためで、拡張子BATでやりたいのなら、こう書かなきゃいけなかった。 @ECHO OFF : TEST ECHO NOTEPAD起動 C:\WINDOWS\system32\NOTEPAD.EXE ECHO NOTEPAD終了 : ECHO CALC起動 C:\WINDOWS\system32\Calc.EXE ECHO CALC終了 : ECHO COPY開始 CD C:\DOCUME~1\SIGNAL9~1\TEST COPY DUMMY.TXT DUMMY2.TXT ECHO COPY終了 PAUSE デスクトップから動かすと適当に按配してくれるくせに、なんでIEXPRESSを通すとこういう仕様なのかに関しては、まあ推測できる理由はあるのだが、よくわからない(爆)
by SIGNAL-9
| 2008-01-09 17:03
| TIPSとかKludgeとか
|
カテゴリ
全体 一般の話題 奇妙な論理 奇談・異聞 秋葉原 研究(笑) 町歩き 古い話 東電災害 電算機関係の話題 情報保護・セキュリティ 読んだり見たり TIPSとかKludgeとか 拙作ソフトウェア 未分類 最新の記事
記事ランキング
以前の記事
最新のトラックバック
その他のジャンル
ブログジャンル
画像一覧
|
ファン申請 |
||