• ベストアンサー

こんなリネームツールありますか?

ファイルの名前を現在のファイル名→何文字か前後のアルファベットまたは数字に変換できるツールって存在するのでしょうか、教えてください。 例 abc→bcd、cde……xyz、yza、zab 123→234、345……789、890、901 haru.mp3→ibsv.mp3(+1) sakura.jpg→rzjtqz(-1) といった感じです。 英字は英字のみ、数字は数字のみなら尚嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こう? 35792 → 46893 axzbd → byace 連番とかにする必要はなしで、あくまでファイル名を変更したいだけですよね。 探してみましたが見つからないですね。 スクリプトを書いてみたのでどうぞ。 「送る」に登録するか、スクリプトファイルにドラッグ&ドロップすると利用できます。 ドロップすると、次の瞬間ファイル名が突然変わるので注意してください。 以下「送る」に登録する場合 (1)メモ帳を開いて、新規テキストファイルを作成 (2)以下のスクリプトを貼りつけて "リネーム.vbs" などのファイル名で保存。 (3)エクスプローラーのアドレスバーで shell:sendto と入力して「送る」のフォルダを開く。 (4)その開かれたフォルダに「リネーム.vbs」をコピーまたは移動。 (5)使う時は、エクスプローラーから「送る」 以下スクリプトファイルの中身 dim fs,src,tar,f,arg,srcfn,i,k ascii = "01234567890abcdefghijklmnopqrstuvwxyzaABCDEFGHIJKLMNOPQRSTUVWXYZA" set arg = WScript.Arguments set fs = WScript.CreateObject("Scripting.FileSystemObject") for each f in arg res = "" set src = fs.GetFile(f) tmp = src.Name for i=1 to len(tmp) step 1 c1 = mid(tmp,i,1) if c1 = "." then '拡張子以降を無視 res = res & mid(tmp,i,Len(tmp)-i+1) exit for end if po=InStr(1,ascii,c1,1) if po > 0 then res = res & Mid(ascii,po+1,1) else res = res & c1 end if next src.Name=res next 補足 ・Microsoft Windows Scripting Host が必要です。 ほとんどの場合OSに標準で入っていると思います。 ない場合は検索してインストールしてください。 ・拡張子以降は無視するようにしてあります。 動作が気に入らない場合は該当行を削除してください。 転載改変はご自由に。 ・「送る」が面倒だったらデスクトップあたりに vbsファイルをおいて ファイル名変更したいファイルをドラッグ&ドロップすればOK。

ASaPro
質問者

お礼

やはり簡単にはいかなそうですね…(^_^;) でも、なんとかやってみます。ご教授いただきありがとうございました!

その他の回答 (2)

  • a1401k
  • ベストアンサー率31% (18/58)
回答No.2

こういうものもあるので とりあえず 参考までに 使い勝手はそこそこ良いです

参考URL:
http://www.jp-info.com/pong/
  • RosaCanina
  • ベストアンサー率48% (5532/11451)
回答No.1

コレ、使ってみて下さい。 私が便利に利用させて頂いております。 http://www.forest.impress.co.jp/lib/sys/file/filerename/flexrenamer.html 一度にリネームできなくとも、二度に分けてリネームすることも考えてみて下さい。