Discussion:
Как получить имя только что созданного архива ?
(слишком старое сообщение для ответа)
Tolik Gusin
2008-08-20 17:25:19 UTC
Permalink
Привет All,

XP или Win2000
Есть .cmd Файл внтури которого я создаю архив с использованием параметра
-ag:

rar a -agYYYYMMDD-NN test.rar <файлы для архивации>

Вопрос: как после создания архива получить имя файла этого архива ?

Если это невозможно, то тогда вопрос такой:
Как в .cmd можно сформировать имя для файла, что бы оно содержало дату и
время в заданном формате ?

Команды DATE и TIME для этого не годятся, им нельзы задать нужный
формат.
--
С Уважением, Stalker

Origin: The History is Dead
Igor Zakharoff
2008-08-20 17:10:22 UTC
Permalink
Greetings, Tolik

20 авг 08 в 21:25 ты написал(а) всем насчет "Как получить имя только что
созданного архива ?":

TG> XP или Win2000
TG> Есть .cmd Файл внтури которого я создаю архив с использованием
TG> параметра
TG> -ag:

TG> rar a -agYYYYMMDD-NN test.rar <файлы для архивации>

TG> Вопрос: как после создания архива получить имя файла этого архива ?

Если архив в каталоге один, то можно использовать dir *.rar с пайпами.

TG> Если это невозможно, то тогда вопрос такой:
TG> Как в .cmd можно сформировать имя для файла, что бы оно содержало дату
TG> и время в заданном формате ?

TG> Команды DATE и TIME для этого не годятся, им нельзы задать нужный
TG> формат.

Можно взять GNU date, собранный под винду. Либо использовать perl, например.

np: Медвежий Угол [ Степи среди/2008 ] 7. Дай мне огня
Alexander Nazarenko
2008-08-20 17:38:55 UTC
Permalink
Бог в помощь, Igor!

Сижу я, примус починяю, вдруг (Среда 20 Августа 2008 21:10:22) мессага от тебя
к Tolik Gusin... Hу, думаю, щас спою...

TG>> Если это невозможно, то тогда вопрос такой:
TG>> Как в .cmd можно сформировать имя для файла, что бы оно содержало
TG>> дату и время в заданном формате ?

%DATE% не устроит?

Ты заходи, если что, Igor!

С уважением, Александр AKA /CorWin
... Кстати, а Стивен Спилбеpг не писал сценаpии к Итpаку?
Tolik Gusin
2008-08-23 13:33:07 UTC
Permalink
Post by Igor Zakharoff
Greetings, Tolik
20 авг 08 в 21:25 ты написал(а) всем насчет "Как получить имя только что
TG> XP или Win2000
TG> Есть .cmd Файл внтури которого я создаю архив с использованием
TG> параметра
TG> rar a -agYYYYMMDD-NN test.rar <файлы для архивации>
TG> Вопрос: как после создания архива получить имя файла этого архива ?
Если архив в каталоге один, то можно использовать dir *.rar с пайпами.
Hет rar-файлов там много, так что это не пройдет.
Post by Igor Zakharoff
TG> Как в .cmd можно сформировать имя для файла, что бы оно содержало дату
TG> и время в заданном формате ?
TG> Команды DATE и TIME для этого не годятся, им нельзы задать нужный
TG> формат.
Можно взять GNU date, собранный под винду.
А где можно взять GNU date ?
--
С Уважением, Stalker

Origin: The History is Dead
Tolik Gusin
2008-08-23 16:55:43 UTC
Permalink
Post by Igor Zakharoff
TG> XP или Win2000
TG> Есть .cmd Файл внтури которого я создаю архив с использованием
TG> параметра
TG> rar a -agYYYYMMDD-NN test.rar <файлы для архивации>
TG> Вопрос: как после создания архива получить имя файла этого архива ?
Если архив в каталоге один, то можно использовать dir *.rar с пайпами.
TG> Команды DATE и TIME для этого не годятся, им нельзы задать нужный
TG> формат.
Можно взять GNU date, собранный под винду. Либо использовать perl, например.
GNU date я нашел (http://unxutils.sourceforge.net/).
Hо я не могу разобраться как задать ей вывод текущей даты или времени в
заданном формате.
Если не трудно, то напиши небольшой пример как это можно сделать.
--
С Уважением, Stalker

Origin: The History is Dead
Igor Zakharoff
2008-08-24 03:49:58 UTC
Permalink
Greetings, Tolik

23 авг 08 в 20:55 ты написал(а) мне насчет "Re: Как получить имя только что
Post by Igor Zakharoff
TG> Команды DATE и TIME для этого не годятся, им нельзы задать
нужный
TG> формат.
Можно взять GNU date, собранный под винду. Либо использовать perl,
например.
TG> GNU date я нашел (http://unxutils.sourceforge.net/).

Да, это оно.

TG> Hо я не могу разобраться как задать ей вывод текущей даты или времени
TG> в заданном формате. Если не трудно, то напиши небольшой пример как это
TG> можно сделать.

date "+FORMAT". Например:

***@main:~$ date "+%Y%m%d %H:%M"
20080824 08:52

Подробнее о ключах - date --help.

np: Goatlord [ Morbid Tunes of the Black Angels Part 6(66)/2002 ] 9. Early
Beginning Of War
Tolik Gusin
2008-08-29 14:57:27 UTC
Permalink
Post by Igor Zakharoff
TG> Hо я не могу разобраться как задать ей вывод текущей даты или времени
TG> в заданном формате. Если не трудно, то напиши небольшой пример как это
TG> можно сделать.
20080824 08:52
Подробнее о ключах - date --help.
С форматом даты я разобрался, спасибо.
Hо возникла другая проблема: Как дату фозвращаему Date.exe
записать в переменную ?
Я пробовал так:
=====
set cDate=Date.exe "+%Y%m%d"
echo %cDate%
=====
Hо вместо вывода даты в указаном формате выводится: Date.exe "+md"
То есть в переменную cDate не сохранилась дата в указаном формате.

Что я сделал неправильно ?
--
С Уважением, Stalker

Origin: The History is Dead
Igor Zakharoff
2008-09-01 07:25:30 UTC
Permalink
Greetings, Tolik

29 авг 08 в 18:57 ты написал(а) мне насчет "Re: Как получить имя только что
созданного архива ?":

TG> С форматом даты я разобрался, спасибо.
TG> Hо возникла другая проблема: Как дату фозвращаему Date.exe
TG> записать в переменную ?
TG> Я пробовал так:
TG> =====
TG> set cDate=Date.exe "+%Y%m%d"
TG> echo %cDate%
TG> =====
TG> Hо вместо вывода даты в указаном формате выводится: Date.exe "+md"
TG> То есть в переменную cDate не сохранилась дата в указаном формате.
TG> Что я сделал неправильно ?

А cmd вообще позволяет задавать переменные таким образом? Я не уверен.
Раз уж ты скачал unxutils, можно использовать sh оттуда. Тогда скрипт будет
выглядеть так (если синтаксис sh совпадает с bash):

cDate=`Date.exe "+%Y%m%d"`
echo $cDate

np: Darkest Grove [ Pain and Suffering Shall Be Known/2006 ] 8. The Human
Plague
Oleg Kopp
2008-09-01 06:51:07 UTC
Permalink
Hi, Tolik!
Было дело... Tolik Gusin -> Igor Zakharoff:

TG> С форматом даты я разобрался, спасибо.
TG> Hо возникла другая проблема: Как дату фозвращаему Date.exe
TG> записать в переменную ?
TG> Я пробовал так:
TG> =====
TG> set cDate=Date.exe "+%Y%m%d"
TG> echo %cDate%
TG> =====
TG> Hо вместо вывода даты в указаном формате выводится: Date.exe "+md"
TG> То есть в переменную cDate не сохранилась дата в указаном формате.

TG> Что я сделал неправильно ?
Тут есть два момента: "%" - это спец-символ для интерпретатора, поэтому его
нужно маскировать; потом, date.exe не возвращает дату, а лишь выводит ее в
поток вывода, по умолчанию, на экран. Поток можно перенаправить, например, в
файл, можно ли сразу в переменную - не знаю, но можно обработать с помощью
команды for:

@echo off
FOR /F "eol= tokens=1 delims= " %%a IN ('Date.exe "+%%Y%%m%%d"') DO (
set cDate=%%a
)
echo %cDate%

Всего наилучшего!!! OlegX.

Oleg Kopp
2008-08-21 06:20:03 UTC
Permalink
Hi, Tolik!
Было дело... Tolik Gusin -> All:

TG> Если это невозможно, то тогда вопрос такой:
TG> Как в .cmd можно сформировать имя для файла, что бы оно содержало
TG> дату и время в заданном формате ?

TG> Команды DATE и TIME для этого не годятся, им нельзы задать нужный
TG> формат.
Когда давно наваял такой вот cmd'шник:
--------------GetTime.cmd--------------
@echo off
set year=1900
set month=01
set day=01
set hr=00
set sc=00
FOR /F "eol= tokens=1,2,3,4 delims=/. " %%a IN ('date /T') DO (
set d1=%%a
set d2=%%b
set d3=%%c
set d4=%%d
if "%%d"=="" (goto XP:) else (goto w2k:)
goto end:
)
:w2k
set year=%d4%
set month=%d3%
set day=%d2%
goto main:
:XP
set year=%d3%
set month=%d2%
set day=%d1%
goto main:
:main
FOR /F "eol= tokens=1,2 delims=: " %%l IN ('time /T') DO (
set hr=%%l
set sc=%%m
)
goto end:
:end
set ActDate=%year%.%month%.%day% %hr%:%sc%
------------------------------------------

Всего наилучшего!!! OlegX.
Tolik Gusin
2008-08-23 16:55:43 UTC
Permalink
Post by Igor Zakharoff
TG> Как в .cmd можно сформировать имя для файла, что бы оно содержало
TG> дату и время в заданном формате ?
TG> Команды DATE и TIME для этого не годятся, им нельзы задать нужный
TG> формат.
Спасибо за скрипт.
--
С Уважением, Stalker

Origin: The History is Dead
Loading...