Войти

Показать полную графическую версию : [решено] Назвать архив названием файла


айкот
22-09-2011, 17:56
Добрый день. Батниками пользуюсь не часто по тому буду очень благодарен за всякую предоставленную помощь.
Необходимо создать bat файл который бы архивировал файлы в каталоге а название архива брав из самого файла. Например:

На диске D существует папка 1. В папке лежат 6 файлов: 12.o, 12.r, 12.k, 13.o, 13.r, 13.k
В результате отработки батника необходимо что бы файлы 12.o, 12.r, 12.k были помещены в архив под название 12.arj а файлы 13.o, 13.r, 13.k - 13arj. Заархивированные файлы должны удаляться. Спасибо.

ferget
22-09-2011, 18:23
какой программой пользуетесь для архивации?

айкот
22-09-2011, 19:27
arj32.exe

Iska
22-09-2011, 23:51
Примерно так:
@echo off
setlocal enableextensions enabledelayedexpansion

set sPath=%~1

if defined sPath (
if exist "%sPath%" (
for %%i in ("%sPath%\*.*") do "%ProgramFiles%\ARJ32\arj32.exe" a -d -y -e "%%~ni" "%%i"
) else (
echo Path [%sPath%] not found
)
) else (
echo Usage: %~nx0 ^<Path^>
)

endlocal
exit /b

Вызов пакетного файла наподобие:
"E:\Песочница\0079\0001.cmd" "D:\1"
Архивы будут созданы/обновлены в текущем каталоге.

ferget
23-09-2011, 00:30
Вызов пакетного файла »

пакует в папке где находится, как ни вызывай

айкот
23-09-2011, 01:15
Спасибо конечно что не спали и пытались мне помочь. НЕ буду отрицать, я не гуру в этом деле как вы, но для меня не понятно где же тут команда на архивацию? :). Но в любом случаи спасибо. Попытаюсь завтра разобраться во всем этом.

ferget
23-09-2011, 02:14
где же тут команда на архивацию? »
вот
for %%i in ("%sPath%\*.*") do "%ProgramFiles%\ARJ32\arj32.exe" a -d -y -e "%%~ni" "%%i"

Iska
23-09-2011, 05:28
ferget, моя вина: я сначала сделал вариант с «pushd/popd», затем нашёл параметр «-e/-e1». У себя и на форуме «pushd/popd» я убрал, а вот путь к маске добавить не только у себя, но и на форуме — запамятовал. Спасибо за замечание.

Я поправил код в #4 (http://forum.oszone.net/post-1758461.html#post1758461).

айкот
23-09-2011, 17:23
Ой, спасибо Вам ребята. Все работает, во всем вроде как разобрался.

Спасли меня от ручного архивирование тысячи файлов.




© OSzone.net 2001-2012