Войти

Показать полную графическую версию : [решено] Пакетная обработка в WinRAR


angelp
28-08-2015, 10:02
Необходимо с помощью архиватора WinRAR объединить в исходной папке файлы с одинаковыми именами, но разными расширениями в архивы с такими же именами:

для примера:

имя1.jpg
имя1.eps
имя2.jpg
имя2.eps

нужно получить:

имя1.zip (внутри имя1.jpg, имя1.eps)
имя2.zip (внутри имя2.jpg, имя2.eps)

При этом в самом архиве не должно быть дополнительных папок
исходные файлы удалять не нужно

Система Windows 8.1 64 бит

Буду признателен за помощь!

gora
28-08-2015, 10:32
@Echo Off
Set folder=e:\Temp\1
CD /D "%folder%"
For /F "tokens=*" %%a In ('Dir "*.jpg" /B /A:-D ') Do "C:\Program Files\WinRAR\Rar.exe" a "%%~na.zip" "%%~na.eps" "%%a"

angelp
28-08-2015, 10:42
Огромное спасибо за оперативную помощь!!!

Elven
28-08-2015, 10:43
Здесь скорее куда как более интересно какой версии винрар (кстати, просто умиляет желание получить *.zip при помощи WinRAR - все равно что зайти в Le Grand Vefour и затребовать гамбургер, картоху-фри и колу).


pushd "нужная_папка"
for /f %i in ('dir /a:-d /b') do "%programfiles%\WinRAR\rar.exe" a "%%i" "%%~ni.zip"
popd

angelp
28-08-2015, 11:08
Первое решение работает только на имена не содержащие пробелы, можно это как-то исправить.

кстати, просто умиляет желание получить *.zip при помощи WinRAR »

В системе установлен WinRAR, пользуюсь давно - привык. А .zip нужен не по моей прихоти, а по требованиям сайтов куда я их отправляю)

Elven
28-08-2015, 11:17
Первое решение работает только на имена не содержащие пробелы, можно это как-то исправить. »
for /f "delims=" %%a IN и так далее

gora
28-08-2015, 11:18
можно это как-то исправить. »
Исправлено.

angelp
28-08-2015, 11:24
Спасибо всем за отзывчивость!!! Теперь все работает!




© OSzone.net 2001-2012