Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Упаковка файлов в архив "rar" c определенным именем.

Ответить
Настройки темы
CMD/BAT - Упаковка файлов в архив "rar" c определенным именем.

Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Хочу обратится за помощью к Вам.
Имеется программа которая выгружает данные в файлы (за день это может отказаться от 10 до 50 файлов) с именем и расширением "1409250400149275.S01" (как образец).
Мне необходимо архивировать все файлы с содержанием первых 6 символов "140925"0400149275.S01 (расширение тоже имеет разные имя).
Первые шесть символов это дата выгруженного файла (Год, меся, число). Как или при помощи чего можно упаковать в архив "rar" (Архиватор WinRar имеется) задав параметр нужной даты?

Отправлено: 14:38, 01-10-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Чем не устраивает банальное:
Код: Выделить весь код
"%ProgramFiles%\WinRAR\WinRAR.exe" a "Мой путь\Мой архив.rar" "%~1*.*"
где дата задаётся параметром пакетного файла?!

Отправлено: 14:56, 01-10-2014 | #2



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

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


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Чем не устраивает банальное:
Код:
"%ProgramFiles%\WinRAR\WinRAR.exe" a "Мой путь\Мой архив.rar" "%~1*.*"
где дата задаётся параметром пакетного файла?! »
К большому сожалению я не продвинутый пользователь.
И не совсем понимаю что дано в ответе и как это применить (вернее с чем)...
Я себя немного подправлю. Есть директория где эти файлы выкладываются "C:\out\ss", мне надо упаковать их (файлы) в архив по адресу "C:\out_ftp\ss" c именем в виде даты и двух букв "ss" в конце.
Интересует можно указывать какие файлы с именем упаковывать...

Последний раз редактировалось rastorgujewo, 01-10-2014 в 16:01.


Отправлено: 15:39, 01-10-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата rastorgujewo:
c именем в виде даты »
Формат даты — тот же, что и в именах архивируемых файлов?

Отправлено: 16:38, 01-10-2014 | #4


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Формат даты — тот же, что и в именах архивируемых файлов? »
Совершенно верно.

Отправлено: 16:39, 01-10-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Как-то так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=C:\out\ss
set sDestFolder=C:\out_ftp\ss
set sMask=%~1
set sWinRARPath=%ProgramFiles%\WinRAR\WinRAR.exe

if exist "%sSourceFolder%\." (
	if exist "%sDestFolder%\." (
		if defined sMask (
			if exist "%sWinRARPath%" (
				echo %sMask%| >nul 2>&1 findstr.exe /i /r /c:"^[0-9][0-9][0-9][0-9][0-9][0-9]$" || (
					echo Date mask [%sMask%] probably error.
					exit /b 4
				)
				
				>nul 2>&1 dir /b "%sSourceFolder%\%sMask%*.*" || (
					echo Nothing found by Date mask [%sMask%*.*] in source folder [%sSourceFolder%].
					exit /b 6
				)
				
				"%sWinRARPath%" a -ep "%sDestFolder%\%sMask%ss.rar" "%sSourceFolder%\%sMask%*.*"
			) else (
				echo Can't find [%sWinRARPath%].
				exit /b 5
			)
		) else (
			echo Usage: %~nx0 ^<Date mask^>
			exit /b 3
		)
	) else (
		echo Can't find destination folder [%sDestFolder%].
		exit /b 2
	)
) else (
	echo Can't find source folder [%sSourceFolder%].
	exit /b 1
)


endlocal
exit /b 0

Сохраните код в файл с расширением «.cmd» в кодировке OEM/866. Маску даты указывайте параметром командного файла, например:
Код: Выделить весь код
"Мой путь\Пакетный файл.cmd" 140924

Отправлено: 04:59, 02-10-2014 | #6


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как сохранить код в cmd мне понятно, сохранил в OEM/866 через Notepad++.
Не понял про командный файл:
Цитата Iska:
Сохраните код в файл с расширением «.cmd» в кодировке OEM/866. Маску даты указывайте параметром командного файла, например:
Код:
"Мой путь\Пакетный файл.cmd" 140924 »
Код полностью скопировал в Notepad++, сохранил как 140901.cmd в кодировке OEM/866 (файлы, папки по путям все есть), cmd окно моргнула а архива нет.

Последний раз редактировалось rastorgujewo, 02-10-2014 в 09:43. Причина: Дополнение тестом


Отправлено: 08:51, 02-10-2014 | #7


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата rastorgujewo:
сохранил как 140901.cmd »
Сохраните, например, под именем «MakeMyArc.cmd» в некую папку.

Цитата rastorgujewo:
cmd окно моргнула »
Запустите «cmd.exe». Напишите в нём:
Код: Выделить весь код
"Путь\MakeMyArc.cmd" 140901
(где «Путь» — некая папка, куда Вы сохранили файл «MakeMyArc.cmd» с кодом пакетного файла, а «140901» — маска даты для отбора файлов) и нажмите «Enter».

Отправлено: 11:28, 02-10-2014 | #8


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska Огромное тебе спасибо, выручил очень сильно.
Есть доп. вопрос:
Что нужно поменять если скажут сделать чтобы у архива имя наоборот было 010914ss (Число, месяц, год)?

Отправлено: 12:30, 02-10-2014 | #9


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата rastorgujewo:
Что нужно поменять если скажут сделать чтобы у архива имя наоборот было 010914ss (Число, месяц, год)? »
Вызывать посредством:
Код: Выделить весь код
"Путь\MakeMyArc.cmd" 010914
ибо никаких предположений о формате даты не делается, кроме одного — переданный параметр должен состоять ровно из шести цифр.

Отправлено: 12:39, 02-10-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Упаковка файлов в архив "rar" c определенным именем.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] упаковка содержимого файлов в cab архив tr011_tmn Скриптовые языки администрирования Windows 15 05-04-2015 11:43
2010 - проблема открытия файлов ворд с определенным именем Pozia Microsoft Office (Word, Excel, Outlook и т.д.) 5 29-04-2011 23:16
Упаковка/распаковка файлов rar, zip, удалённо!? 8Toxa8 Хочу все знать 3 22-12-2009 14:14
Как взломать быстро RAR архив? swoop Хочу все знать 9 23-06-2008 21:01
помогите раскрыть RAR-архив Igal Хочу все знать 5 11-11-2002 10:47




 
Переход