l oop через подпапки и tar определенные файлы с именем папки в качестве выходного файла - PullRequest
0 голосов
/ 08 мая 2020

У меня есть куча папок, в которых есть файлы .wav и. xml, и я хочу заархивировать только определенные файлы wav и xml и называть их именем папки, в которой находятся файлы. Пока что у меня есть это, что работает, когда .bat находится в той же папке, что и файлы, которые я хочу архивировать. Вывод также попадает в ту же папку:

for %%a in (.) do set CurrDirName=%%~nxa
tar -cvzf %CurrDirName%.tar.gz *pm.wav *.xml

Базовая c структура папок:

        [topfolder]
          [subfolder1]
 script---> targz.bat
    input-> apm.wav
    input-> bpm.wav
            c.wav
            d.wav
    input-> a.xml
            a.jpg
 output---> subfolder1.tar.gz

Есть ли способ разместить .bat на один уровень выше? в верхней папке и иметь его l oop через подпапки на один уровень ниже?

    [topfolder]
----> targz.bat
      [subfolder1]
     -> apm.wav
     -> bpm.wav
        c.wav
        d.wav
     -> a.xml
        a.jpg
   ---> subfolder1.tar.gz
      [subfolder2]
     -> apm.wav
     -> bpm.wav
        c.wav
        a.xml
        a.jpg
   ---> subfolder2.tar.gz 
      [subfolder3]
     -> apm.wav
     -> bpm.wav
        a.xml
        a.jpg
   ---> subfolder3.tar.gz 
...