ネストされてzipに格納されているファイルを集めて1つのフォルダに集約したい。(Windows10)
解決したいこと
ネストされてzipに格納されているファイルを集めて1つのフォルダに集約したい。(Windows10)
質問:
1つのzipファイルをWindows10の基本機能かオープンソースの信用できるツールを使ってバッチで解凍して、1つのフォルダ内に並列に格納したいのですが、要件が少し複雑です。
c:\XYZ.zipファイルを解凍した場合、決まって以下のような構造であることがわかっています。(下記のようにネストされています)
これを解凍して、すべてのファイル(*.xlsx)をc:\workフォルダの直下にすべて集めたいのです。
解凍したときの"XYZ"のフォルダ名は固定ですが、それ以下のフォルダ名やファイル名はすべて可変。
つまり、解凍してみないと末端のフォルダに何と言う名前のファイルが入っているかはわかりませんが、ファイルの階層数(この例では2階層)は一定です。
せっかく解凍してみても、フォルダはあっても末端にファイルが何も入っていない場合もあれば、複数入っている場合もあります。(ただし末端のファイル名が重複することはないことはわかっています)
しょうがなく普段は対話型でエクスプローラで開いて手動でコピーしているのですが、バッチファイルを工夫すればpkunzipとかでできそうな気がしてお知恵を拝借しています。
XYZ
└ABC
└A
└File-A.xlsx
└B
└File-B.xlsx
└C
└File-C.xlsx
└DEF
└D
└File-D.xlsx
└E
└File-E.xlsx
└F
└File-F.xlsx
└GHI
└G
└File-G.xlsx
└H
└File-H.xlsx
└ I
└File-I.xlsx
※言葉で書くと以下のようになります。念のため。
XYZフォルダの下に、ABCフォルダ, DEFフォルダ, GHIフォルダがあります。
ABCフォルダのさらに下に、Aフォルダ、Bフォルダ, Cフォルダがあります。
DEFフォルダのさらに下に、Dフォルダ、Eフォルダ, Fフォルダがあります。
GHIフォルダのさらに下に、Gフォルダ、Hフォルダ, Iフォルダがあります。
Aフォルダの下に、File-A.xlsxがあります。
Bフォルダの下に、File-B.xlsxがあります。
Cフォルダの下に、File-C.xlsxがあります。
Dフォルダの下に、File-D.xlsxがあります。
Eフォルダの下に、File-E.xlsxがあります。
Fフォルダの下に、File-F.xlsxがあります。
Gフォルダの下に、File-G.xlsxがあります。
Hフォルダの下に、File-H.xlsxがあります。
Iフォルダの下に、File-I.xlsxがあります。