как объединить файлы в каждом подкаталоге с помощью командной строки windows

Я новичок, аспирант, и разочарование!! У меня есть тонны каталогов, содержащих подкаталоги, и каждый подкаталог содержит кучу .irf-файлы (это файлы DVR-типа).

Я пытаюсь использовать командную строку для каждой поддиректории, содержащие объединенную .irf файл для .irf в этом подкаталоге. И в идеале новый файл будет иметь имя подкаталога.

Я могу объединить их без проблем, перейдя в каждую подпапку по одному:

copy /b *.irf concat.irf

чтобы заставить это работать для каждой поддиректории, я пытался использовать команду for, и я помещаю команду copy в пакетный файл (copyIRF.летучая мышь)

for /d /r %i in (*.*) do call copyIRF.bat %i )

это помещает объединенный файл с именем concat.irf в родительский каталог, который является объединенными файлами из подкаталога #1.

но затем, когда он объединяет файлы во втором каталоге, он добавляет их в тот же файл concat.irf в родительской папке вместо размещения результирующие файлы в соответствующие подпапки.

что я хочу-это:

Directory
  Subdir1
    *.irf
    *.irf
    *.irf...etc.
    Subdir1concat.irf
  Subdir2
    *.irf
    *.irf
    *.irf ...etc..
    Subdir2concat.irf

Я действительно очень ценю любую помощь!!

(Я использую Win 7 64bit pro)

21
задан DavidPostill
25.02.2023 5:16 Количество просмотров материала 3030
Распечатать страницу

1 ответ

следующая команда цикла может помочь:

for /F "delims=" %i in ('dir /B /S /AD') do @call copyIRF.bat "%i"

если copyIRF.bat определяется следующим образом:

==>type copyIRF.bat
@echo OFF
pushd "%~1"
if exist *.irf (
    del "%~nx1concat.irf"
    copy *.irf "%~nx1concat.irf"
    echo debug copy *.irf "%~nx1concat.irf"
)
popd
exit /B

ресурсы (обязательно к прочтению):

0
отвечен JosefZ 2023-02-26 13:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх