Можно ли архивировать файлы по непостоянным номерам в их именах, используя пакетный скрипт Windows? - PullRequest
0 голосов
/ 08 июня 2019

Например,

У нас есть папка

c:\files

Папка содержит такие файлы:

 abc_m2611somthing.pdf
 abc_m2611somthing.dat
 abc_m2611somthing.log
 abc_m3849somthing.pdf
 abc_m3849somthing.dat
 abc_m3849somthing.log
 xyz_s1654somthing.pdf
 xyz_s1654somthing.dat
 xyz_s1654somthing.log

Новые файлы создаются и перемещаются в эту папку каждый день. Имена файлов и расширения этих файлов постоянны, за исключением чисел в середине, каждый день 4 цифры в новых файлах будут отличаться.

Моя задача:

Написать пакет, который будет принимать файлы с одинаковыми номерами и архивировать их. Имя архива должно совпадать с именем файла.

Конечный результат должен выглядеть следующим образом:

abc_m2611somthing.zip
abc_m3849somthing.zip
xyz_s1654somthing.zip

Каждый из этих архивов состоит из всех файлов с одинаковым номером.

Сложность заключается в том, что числа меняются каждый день.

1 Ответ

0 голосов
/ 09 июня 2019

Итак, мне удалось написать партию

@echo off

set "srcfolder=c:\files"
set "dstfolder=c:\zipfiles"
set "winrar=c:\Program files\WinRar"

for /f %%A in ('dir /b %srcfolder%') do (

    cd %winrar% 
    rar a -ep "%dstfolder%\%%~nA.rar" "%srcfolder%\%%~nA*"

    )
)

Он берет все файлы с одинаковыми номерами и помещает их в архив с тем же именем, что и файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...