2012 год на дворе, а в windows до сих пор сложно получить строку вида yyyy-MM-dd-hh-mm в командных файлах без программирования. В основном все вырезают кусочками нужные части из %date% (для года %date:~6,4%) и %time%. Все это сразу перестает работать в другой локали. Потом приходится думать что делать с отсутствующими leading zero в месяцах-днях-часах-минутах. Я для себя остановился на следующей версии
set "exec=wmic path win32_LocalTime get Year^,Month^,Day^,Hour^,Minute /value"
for /f "tokens=1,2 delims==" %%i in ('%exec%') do 2>nul set "%%i=%%j"
set month=0%month%
set month=%month:~-2%
set day=0%day%
set day=%day:~-2%
set hour=0%hour%
set hour=%hour:~-2%
set minute=0%minute%
set minute=%minute:~-2%
Через wmic получаем нужные строчки, парсим, где надо добавляем нули.
Ну не мытьём, так катанием.
В итоге скрипт по сохранению базы древнего MS SQL 2000, со структурой хранения
\SQLBackup\yyyy-MM\yyyy-MM-dd\SQLDB-yyyy-MM-dd-hh-mm.bak
относительно местоположения скрипта может выглядеть так
REM __________________ Edit area _______________________
set folder=SQLBackup
set filename=SQLDB
REM _________________________________________________
set cmdpath=%~dp0
set "exec=wmic path win32_LocalTime get Year^,Month^,Day^,Hour^,Minute /value"
for /f "tokens=1,2 delims==" %%i in ('%exec%') do 2>nul set "%%i=%%j"
set month=0%month%
set month=%month:~-2%
set day=0%day%
set day=%day:~-2%
set hour=0%hour%
set hour=%hour:~-2%
set minute=0%minute%
set minute=%minute:~-2%
set yyyy_mm=%year%-%month%
set yyyy_mm_dd=%year%-%month%-%day%
set yyyy_mm_dd_hh_mm=%year%-%month%-%day%-%hour%-%minute%
mkdir "%cmdpath%%folder%\%yyyy_mm%\%yyyy_mm_dd%"
osql -E -Q "BACKUP DATABASE CorpDB TO DISK = '%cmdpath%%folder%\%yyyy_mm%\%yyyy_mm_dd%\%filename%-%yyyy_mm_dd_hh_mm%.bak';" -o "%cmdpath%%folder%\%yyyy_mm%\%yyyy_mm_dd%\%filename%-%yyyy_mm_dd_hh_mm%.log"
Подписаться на:
Комментарии к сообщению (Atom)
Мой список блогов
-
-
Notes on LLMapгод назад
-
Строительноегод назад
-
Будем честными ...год назад
-
Highscalability is Up For Sale2 года назад
-
-
-
-
-
Go Composition vs Inheritance6 лет назад
-
Welcome, Prashanth!6 лет назад
-
Top Developer Collaboration Tools6 лет назад
-
Транспортный микс7 лет назад
-
-
Исповедь скрам тестера7 лет назад
-
-
Running JRuby on the Graal JIT7 лет назад
-
-
-
Скрепкус гигантус8 лет назад
-
Мои твиты8 лет назад
-
-
-
6990 рублей9 лет назад
-
-
Смирение и американские боеголовки9 лет назад
-
-
-
-
-
-
Measuring Activity Startup Time10 лет назад
-
-
-
-
-
Рассказ жителя Мариуполя из первых рук12 лет назад
-
-
Grails - Convention over Configuration12 лет назад
-
$ (dollar) prefix for angularJS12 лет назад
-
-
-
-
Блог закрыт!12 лет назад
-
-
Websphere portal. Create pages programmatically13 лет назад
-
-
-
Tweetbot для Mac13 лет назад
-
Scala-IO Core: Unmanaged Resources13 лет назад
-
Использование шрифтов в JasperReports13 лет назад
-
Аудит менеджмента качества13 лет назад
-
-
Windows 8 Camp14 лет назад
-
-
-
Переезд14 лет назад
-
CSP15 лет назад
-
-
Графоманам15 лет назад
-
ListView Multiple Selection 215 лет назад
-
-
-
UnitOfWork & IdentityMap17 лет назад
-
-
-
-
-
-
-
-
-
Комментариев нет:
Отправить комментарий