dポイントプレゼントキャンペーン実施中!

ファイル名からフォルダを自動生成して振り分けしてくれるソフト
はありませんでしょうか。

当方、仕事で大量の連番ファイルを扱います。
ほとんどは以下のようなファイル名になっています。
abc.001.jpg
abc.002.jpg
abc.003.jpg
...
qwerty_001.jpg
qwerty_002.jpg
qwerty_003.jpg
...
ファイル名の長さは一意ではありません。
連番前の区切りには「.」ピリオドか「_」アンダーバーが使われます。

これらがひとつのフォルダの中にあるとき、
そのフォルダもしくは必要なファイルを指定することで、
ピリオドもしくはアンダーバーより前のファイル名からフォルダを自動生成して
それぞれの連番を振り分けてくれることのできるソフトです。

ネットでもさまざまなファイル管理ソフトがありますが、
一番求める機能に近いものでも、ファイル名の前方からの文字数で
フォルダ名を指定する必要があるなど、制限がありました。

A 回答 (2件)

Excelマクロを作ってみました。



1.Excelを起動し [Alt]+[F11] で開く Visual Basic Editor のウィン
 ドウで、[挿入]-[標準モジュール] とたどります。
2.[ツール]-[参照設定] で Microsoft Scripting Runtime を指定しま
 す。
3.標準モジュールに下記をコピペして、そのウィンドウを閉じます。

 Sub Furiwake() 'ファイル名の連番前の文字列でフォルダを作り分配。
  Dim FPath1, FPath2, FName
  Application.ScreenUpdating = False
  FPath1 = Range("A1").Value & "\"
  FName = Dir$(FPath1 & "*.*")
  Do While FName <> ""
   Select Case InStr(FName, "_")
    Case Is > 0
     FPath2 = Left(FName, InStr(FName, "_") - 1)
    Case Else
     FPath2 = Left(FName, InStr(FName, ".") - 1)
   End Select
   On Error Resume Next
   MkDir$ FPath1 & FPath2
   On Error GoTo 0
   FileCopy FPath1 & FName, FPath1 & FPath2 & "\" & FName
   ' Kill FPath1 & FName  '※
   FName = Dir$
  Loop
  Application.ScreenUpdating = True
 End Sub

シートのセル A1 に、画像ファイルのあるフォルダのフルパスを次の
ように入力して、[ツール]-[マクロ]-[マクロ] から Furiwake を指定
して実行します。
 入力例: C:\MyFiles\PhotoData\JPGFiles
この入力されたフォルダの中にサブフォルダを作成して振り分けます。

※の行の先頭の Kill の前にある ’を削除して実行すると、元画像
 ファイルが削除されてしまいますので、テストはこのまま実行して
 ください。
    • good
    • 1

ファイル指定のみだけど、下記が一番近いかなぁ・・・


使い方がイマイチだけど・・・

DirCreator
http://www.vector.co.jp/soft/winnt/util/se373773 …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!