ファイル名をパラメータとして引き継いで、まとめてリネームします。


【実行画面】



 これはあくまで、Pyxisなどの、ファイラーの中で使うことを想定し ています。

 所詮、スクリプトなので、大した機能はありません。
 例えば、インプットボックスに"kotobuki"と入れて、指定したファイル の拡張子が全て"jpg"だった場合、新しいファイル名は

  "kotobuki001.jpg"
  "kotobuki002.jpg"
  "kotobuki003.jpg"
      ・
      ・
      ・

のようになります。
 インプットボックスになにも入れなかった場合、キャンセルを押した場 合はなにもしないで終了します。ファイルを一つも指定しなっかた場合は メッセージボックスを表示して終了します。
 変換しようとしたファイル名が、すでにフォルダ内に存在する場合は、 WSHのエラーとなって、そこで終了します。

 ソースは以下の通り

rename.vbs

'/////  ファイル名を一括変換


'引数からファイルの数を調べる
Set args = Wscript.Arguments
s = Wscript.Arguments.Count

if s = 0 then
    '引数がなければなにもしない
    res = MsgBox("ファイルが一つも指定されませんでした。",48)

else 
    '名前一括変換
    call rename
end if

'********名前一括変換のサブルーチン*******************************
sub rename

'インプットボックスを表示
name1 = InputBox("新しい名前の先頭部分を入れて下さい。" &_
        vbCR &  "その下に3桁の数字と拡張子がつきます。" & vbCR &_
        vbCR & "(注)なにも入力しない場合、マークファイルが" &_
        "ない場合はキャンセルと同じです。",_
        "ファイル名一括変換")


if name1="" then 
    'キャンセルまたは、なにも入力されなかったときはなにもしない
    res = MsgBox("キャンセルされました。",64)

else
    'ファイルシステムオブジェクト
    Set objFS = CreateObject("Scripting.FileSystemObject")

    '名前変換処理
    for i = 1 to s
        '新しい名前の後半作成
        name2 = Right(CStr(FormatNumber(i/1000,3)),3)

        '拡張子を調べる
        ext = objFS.GetExtensionName(Wscript.Arguments.item(i-1))

        'Fileオブジェクト
        '新しい名前の設定
        Set objFile = objFS.GetFile(Wscript.Arguments.item(i-1))
        objFile.Name=name1 & name2 & "." & ext
    next

    res = MsgBox("ファイル名を変換しました。",64)

end if

end sub


 一応、Pyxisでのランチャー設定例を、次に示します。
 下の例では、"rename.vbs"は、"c:\Script"内にあります。



 Pyxis(シェアウェア)の入手先は、 ベクター内または、 〜Tom〜さんのページにて



戻る