Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Как заархивировать файлы с датой создания этих файлов?

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


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

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


Есть несколько файлов для архивации архиватором 7-zip.

Нужно чтобы в названии создаваемого архива, была дата создания этих файлов.
Код: Выделить весь код
7za a -t7z backup-%date%.7z -mx9 @filelist.txt -scsWIN -ssw
Вот как я узнаю дату создания файлов:
Код: Выделить весь код
for %%i in ("1.doc") do echo %%~ti>date.txt
Каким образом из файла date.txt взять текст "09.08.2012" и добавить в название создаваемого архива backup-ДАТА.7z, где ДАТА - 09.08.2012?

Отправлено: 23:57, 31-08-2013

 

Ветеран


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

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


Цитата yaoleg2:
Нужно чтобы в названии создаваемого архива, была дата создания этих файлов. »
Если даты создания у файлов разные?

Цитата yaoleg2:
Вот как я узнаю дату создания файлов: »
Вы некорректно узнаёте дату создания файлов. Во-первых, не «файлов», а «файла». Во-вторых, таким вот образом Вы узнаёте дату последней модификации файла, а отнюдь не дату его создания.

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

set sFile=1.doc

if exist "%sFile%" (
	for /f "usebackq" %%i in (`2^>nul dir /t:c "%sFile%" ^| find.exe /i "%sFile%"`) do set sDate=%%~i
	
	if defined sDate (
		"%ProgramFiles%\7-ZipA\7za.exe" a -t7z -mx9 -i@"filelist.txt" -scsWIN -ssw "backup-!sDate!.7z"
	) else (
		echo Can't determine Date created for file [%sFile%].
	)
) else (
	echo Can't find file [%sFile%].
)

endlocal
exit /b 0
Я бы вообще использовал такое:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFile=1.doc

for %%i in ("%sFile%") do set sFullFileName=%%~fi

if exist "%sFullFileName%" (
	for /f "usebackq" %%i in (`2^>nul wmic.exe DataFile WHERE "Name='%sFullFileName:\=\\%'" get CreationDate /value ^| find.exe /i "CreationDate"`) do set s%%i
	
	if defined sCreationDate (
		"%ProgramFiles%\7-ZipA\7za.exe" a -t7z -mx9 -i@"filelist.txt" -scsWIN -ssw "backup-!sCreationDate:~0,8!.7z"
	) else (
		echo Can't determine Date created for file [%sFullFileName%].
	)
) else (
	echo Can't find file [%sFullFileName%].
)

endlocal
exit /b 0

— в отсортированном по именам списке по формату «YYYYMMDD» удобнее ориентироваться нежели в разбросанном там и сям списке по формату «DD.MM.YYYY».
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:09, 01-09-2013 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] батник для создания папки с текущей датой + время aggressor_ Скриптовые языки администрирования Windows 23 08-02-2018 16:02
CMD/BAT - Копирование нескольких файлов из папки в другую с прошедшей датой salmans Скриптовые языки администрирования Windows 5 06-08-2013 03:01
Любой язык - [решено] Создание папки с датой в названии и копирование туда файлов Chiz3000 Скриптовые языки администрирования Windows 2 30-07-2013 10:09
CMD/BAT - файлы разобрать по каталогам в соответствии с датой и пользователем Hronop Скриптовые языки администрирования Windows 2 21-02-2012 20:06
Непонятности с датой изменения файлов Atle Хочу все знать 4 29-06-2011 12:16




 
Переход