пакетное программирование: rar с помощью cli, получение нескольких файлов в формате RAR, каждый в собственном архиве

Я пытаюсь создать простой пакетный скрипт, но он не работает. Я хочу искать каждый файл в каталоге (базовый путь) и помещать каждый файл в отдельный архив rar.

Если я использую "%%~ni.rar" в строке rar, он кладет все файлы во все архивы. ТАК для n файлов я получаю n архивов с n файлами в каждом архиве. [также он, похоже, не помещает архивы в [c:\test*.*], а скорее помещает их в расположение пакетного файла.

Если я использую «%%i.rar», он создает два разных архива, но тогда имена файлов совершенно неверны: например: testfile.jpg >> testfile.jpg.rar, и это не так, как мне бы хотелось (вместо этого testfile.rar)

@ECHO OFF
CLS

SET BASEPATH=c:\test
SET RARExe=c:\PROGRA~1\WinRAR\RAR.EXE

FOR %%i IN (%basepath%\*.*) DO %RARExe% a -m0 "%%~ni.rar" c:\test\*.*
FOR %%i IN (%basepath%\) DO mkdir c:\test\%%~ni

Goto :eof

Кто-нибудь может мне помочь?


person Rps    schedule 16.01.2011    source источник


Ответы (1)


Я нашел, как это сделать, на самом деле простое решение.

FOR %%i IN (%basepath%\*.*) DO (
  rar a -ep1 -t -m0 c\test\%%~ni.rar %%i
)
person Rps    schedule 19.01.2011