• ベストアンサー

ファイル名と同一名のフォルダを大量作成したい

お世話になります。 数百あるファイルが入ったフォルダがあります。(仮に「ルートフォルダー」とします) 今回分けあってルートフォルダー直下にあるファイル名と同一の名前でフォルダーを作成する必要があります(A.txtというファイルであればAフォルダー作成)(結果:ルートフォルダー¥A¥) また、そのうえで数百あるファイルをフォルダーに収めないといけません(結果:ルートフォルダー¥A¥A.txt) なんとか自動で出来ないものでしょうか? 流れとしては 1.ファイル名読み取り 2.フォルダー作成 3.フォルダーへファイルを移動 なお、ファイル名・拡張子は様々です。規則正しく揃っていません。

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

  • ベストアンサー
  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

以下のバッチファイルを作り実行してください。 (当然ですが、D:\ルートフォルダーの所は環境に合わせて書き換えてください。) @echo off for %%I in ("D:\ルートフォルダー\*.*") do ( mkdir "%%~dpnI" move "%%~I" "%%~dpnI" )

その他の回答 (1)

回答No.1

例えば、私がその作業を依頼されたら、、、、 1)cmdでコマンドプロンプトを表示 2)コマンドプロンプトから数百あるファイルのディレクトリに対して dir /b > FileList.csv でファイル一覧のCSVテキストファイルを作成 3)フォルダ作成用としてDirList.csvを作成 copy FlieList.csv DirList.csv 4)テキストエディタでDirList.csvの内容のファイル名称と拡張子の間のドットをカンマに置換 5)EXCELでDirList.csvを開く。A列にファイル名称、B列に拡張子になりますよね。 6)C列に"MD "を入力、D列に"=C1&A1"を入力。C列、D列の1行目を選択して下方向にフィルしてコピー。 D列に"MD ファイル名称"が並びますよね。 7)D列を選択してテキストエディタにコピーペースト。 そのテキストファイルをMakeDir.batとして保存。 8)MakeDir.batをディレクトリを作成したいルートディレクトリ内で実行。 フォルダが作成されます。 9)5~8の要領でmove ..ファイル名称 ..フォルダ名称\フィル名称の並びを作成して実行。 ファイルが各々のフォルダに移動します。 この説明で、やってみてはいかがでしょうか。

関連するQ&A