Конструирование .bat-файла. Дата/время.

Все темы, касающиеся администрирования и работы с Windows/Windows Server.

Модератор: Sebas

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Конструирование .bat-файла. Дата/время.

Сообщение Денис » 07.10.2009 (Ср) 15:45

Здравствуйте, коллеги!

Нужно в батнике получить номер прошлого месяца для дальнейшей подстановки в параметры архиватора.

Ориентировочно, нужно реализовать примерно такой алгоритм:

Код: Выделить всё
        MN = Month(Now)
        YN = Year(Now)

        If MN = 1 Then
            MN = 12
            YN = YN - 1
        Else
            MN = MN - 1
        End If

        YM = Format(YN, "0000") & "_" & Format(MN, "00")


Или, может есть способ проще, команда или т.п.?

В общем, подскажите, кто знает.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Конструирование .bat-файла. Дата/время.

Сообщение VVitafresh » 07.10.2009 (Ср) 16:17

Не знаю возможно ли это сделать в батнике. Но точно можно в *.vbs скрипте.
Я бы лучше его использовал.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Конструирование .bat-файла. Дата/время.

Сообщение alibek » 07.10.2009 (Ср) 16:31

echo %date:~6,4%, %date:~3,2%
set /a
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Конструирование .bat-файла. Дата/время.

Сообщение Денис » 08.10.2009 (Чт) 10:00

alibek писал(а):set /a

Спасибо. Вот то что мне было нужно!

В итоге вот что получилось (если кому надо будет)
Код: Выделить всё
echo off

set YN=%date:~6,4%
set MN=%date:~3,2%

if %MN% == 1 (
    set MN=12
    set /a YN=YN-1
) else (
    set/a MN=MN-1
)

if /i %MN% LSS 10 ( set YM=%YN%_0%MN% ) else ( set YM=%YN%_%MN% )

rar.exe a -r d:\Архив\tsql_%YM%.rar @backup.lst
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Windows (администрирование)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList