« スクリプトから.NETのSystem.IO.StringWriterのWriteLine()を使う。 | トップページ | renameコマンドのワイルドカードの怪? »

2008年8月21日 (木)

システム標準のVBSファイルをCMD化する。

c:\windows\system32には、システム標準のVBSファイルがあります。

dir c:\windows\system32\*.vbs

これらは、cscript.exeで、フルパス指定で、呼ばねばならず、使い勝手が悪い。

cscript.exe c:\windows\system32\prnjobs.vbs -l

そこで、

hoge.cmd
---
for %%1 in ("c:\windows\system32\*.vbs") do echo @cscript.exe //nologo "%%~dpn0.vbs" %%* >>"%%~dpn1.cmd"
---
を実行すると、それぞれのVBSファイルに対応して、ラッパーのCMDファイルを作ります。

例えば、prnjobs.vbsには、prnjobs.cmd
---
@cscript.exe //nologo "%~dpn0.vbs" %*
---
中身は同じで、名前(ベース名)で対応します。

その結果、

prnjobs -l

だけで呼べるようになります。

バッチファイルの中では、

call prnjobs -l

また、c:\windows\system32以外のPATHも、同じフォルダに作れば同様です。

« スクリプトから.NETのSystem.IO.StringWriterのWriteLine()を使う。 | トップページ | renameコマンドのワイルドカードの怪? »