CMD/BAT - [решено] Назвать архив названием файла

Ответить
Аватара пользователя
айкот

CMD/BAT - [решено] Назвать архив названием файла

Сообщение айкот »

Добрый день. Батниками пользуюсь не часто по тому буду очень благодарен за всякую предоставленную помощь.

Необходимо создать 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

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение ferget »

какой программой пользуетесь для архивации?
Аватара пользователя
айкот

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение айкот »

Примерно так:



Код:

Код: Выделить всё

@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 ^
)
endlocal
exit /b

Вызов пакетного файла наподобие:



Код:

Код: Выделить всё

"E:\Песочница\0079\0001.cmd" "D:\1"

Архивы будут созданы/обновлены в текущем каталоге.
Аватара пользователя
ferget

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение ferget »

Цитата Iska:



Вызов пакетного файла
CMD/BAT - [решено] Назвать архив названием файла




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

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение айкот »

Спасибо конечно что не спали и пытались мне помочь. НЕ буду отрицать, я не гуру в этом деле как вы, но для меня не понятно где же тут команда на архивацию? Изображение. Но в любом случаи спасибо. Попытаюсь завтра разобраться во всем этом.
Аватара пользователя
ferget

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение ferget »

Цитата айкот:



где же тут команда на архивацию?
CMD/BAT - [решено] Назвать архив названием файла




вот



Код:

Код: Выделить всё

for %%i in ("%sPath%\*.*") do "%ProgramFiles%\ARJ32\arj32.exe" a -d -y -e "%%~ni" "%%i"
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение Iska »

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



Я поправил код в
CMD/BAT - [решено] Назвать архив названием файла
.
Аватара пользователя
айкот

Re: CMD/BAT - [решено] Назвать архив названием файла

Сообщение айкот »

Ой, спасибо Вам ребята. Все работает, во всем вроде как разобрался.



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

Вернуться в «Скриптовые языки администрирования Windows»