|
▼カド さん:
>▼ハチ さん 回答ありがとうございます。
>>
>>>花 ¥06年10月01日
>>このときに"花"直下にもファイルがあるのでしょうか?
>
>花の直下にはファイルはありません。
>
>****************************************
>
>いつもこんなこと無理だろって思っていることでも、意外とシンプルな
>コードであっさりと解決される方がみえるので、一応質問してみましたが、
>やはりこんなことはそう簡単には出来ないですよね。
>
>自分で地道に考えてみて、その中の部分的に分からないことがあれば、
>またお尋ねしようと思います。
再構成したいフォルダが、2階層だけならそんなに難しくないです。(たぶん)
↓の例SubFolderをScripting.FileSystemObjectのFolderObjectとして
ループをまわすことができます。
Set FSO = CreateObject("Scripting.FileSystemObject")
Set 親フォルダ = FSO.GetFolder(パス)
For Each 子フォルダ In 親フォルダ.SubFolders
子フォルダ.Name
Next 子フォルダ
孫フォルダまであるなら、In 子フォルダ.SubFoldersとループを重ねれば良いと思います。
あとは、.Name .Path で作りたいPath名を生成して(子と孫を入れ替えれば良い)
If Dir(新しいパス) = "" Then MkDir(新しいパス)
と新しいフォルダ構成を作っていく。
FolderObjectとして掴んでますので
For Each ファイル In 子フォルダ.Files
ファイル.Copy 新しいパス & ファイル.Name
Next
とするとファイルをコピーしていけると思います。
こんな感じを想定していたのですがどうでしょうか?
(時間がなくて半端なレスになってスイマセン・・・)
もっと簡単な方法もあるかも・・・
|
|