Сохранить дату в формате ДД-МММ-ГГГГ
Я пытаюсь получить сегодняшнюю дату в ДД-МММ -ГГГГ
(например, 12-JUN-2015), чтобы я мог загрузить файл с FTP-сервера, который будет создаваться ежедневно..
Я использую
@echo offset month-num =% date: ~ 3,2% IF "% month-num: ~ 0, 1% "==" 0 "SET month-num =% month-num: ~ 1% FOR/f" tokens =% month-num% "%% a in (" янв фев мар апр май июн июл авг сен окт ноя dec ") установите mo-name = %% aecho% mo-name%
это дает синтаксическую ошибку
Я был бы признателен за любой совет, поскольку я понятия не имею, с чего начать.
Ганеш, вы используете для Цикл/f
для преобразования числового месяца в его аббревиатуру довольно умен. Я думаю, что часть вашей проблемы заключается в том, что тот, кто изначально написал код, который вы используете, написал его для своей локали, а не для вашей. % date%
выглядит иначе для исходного автора, чем для вас.
Формат % date%
непредсказуем (ну, в любом случае, без сложных запросов к реестру и преобразований). Чтобы получить дату и время без привязки к языку, проще использовать wmic os get localdatetime
.
Попробуйте следующее:
@echo offsetlocalfor/f %% I in ('wmic os get localdatetime/format: list ^ | find "="') do set "%% I" set "YYYY =% localdatetime: ~ 0,4%" set/a "MM = 1% localdatetime: ~ 4,2% - 100" set "DD =% localdatetime: ~ 6,2%" for/f "tokens =% MM%" %% I in ("JAN FEB MAR АПР МАЙ ИЮН ИЮЛЬ АВГУСТ СЕНТЯБРЬ ОКТЯБРЬ НОЯБРЬ ") установить" month = %% I "echo% DD% -% month% -% YYYY%
1
Обычно запрашиваются отчеты за предыдущий месяц. Итак, чтобы получить предыдущий месяц, сделаем небольшую модификацию:
@echo offsetlocalfor/f %% I in ('wmic os get localdatetime/format: list ^ | find "= "') установить" %% I "установить" ГГГГ =% localdatetime: ~ 0,4% "установить/a" MM = 1% localdatetime: ~ 4,2% - 101 "установить" DD =% localdatetime: ~ 6 , 2% "for/f" tokens =% MM% "%% I in (" JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC ") установить" month = %% I "echo% month% -% YYYY %
Теперь передача этого ммм-гггг вашему EXE заставит его работать в течение этого месяца.
1
#!/bin/bash | |
# mmm-bat, Copyright (C) 2013-2014 Джинсоп Ким (vmfhrmfoaj @ yahoo.com) | |
# mmm-bat поставляется СОВЕРШЕННО БЕЗ ГАРАНТИЙ; для подробностей | |
# введите ЛИЦЕНЗИОННЫЙ файл. Это бесплатное программное обеспечение, и вы можете | |
# распространять его при определенных условиях; введите ЛИЦЕНЗИЯ | |
# для получения подробной информации. | |
# Если файл ЛИЦЕНЗИИ не существует, | |
# У вас должен быть получил копию Стандартной общественной лицензии GNU | |
# вместе с этой программой; если нет, напишите в Бесплатное программное обеспечение | |
# Foundation, Inc., 51 Франклин-стрит, Пятый этаж, Бостон, MA 02110-1301, США. | |
. mmm-bat.sh | |
# конфигурации | |
build_log_file = «mmm.log» | |
script_file = «push.bat» | |
# | |
# functions | |
# | |
function helpUsage () { | |
echo «Использование:» | |
echo «$ 0 [dir] [название продукта] [-a]?» | |
echo «- dir: путь для сборки» | |
echo «например) оборудование/qcom/камера» | |
echo » — название продукта: строка продукта для mmm-build. « | |
echo -n» Если название продукта » custom «,» | |
echo «мы выполняем файл » mmm-bat-custom.sh » . « | |
echo «» | |
echo «Необязательно:» | |
echo «- режим добавления (-a): для накопления списка push.» | |
} | |
# изменить рабочий каталог | |
cur_dir = ` pwd` | |
root_dir = $ (getRootPath $ {cur_dir}) | |
если [! -d $ {root_dir}]; затем | |
echo «Не удается найти каталог Android. « | |
echo» — [DEBUG] cur_dir: «$ {cur_dir:} » « | |
echo «- [DEBUG] root_path: » $ {root_path} «» | |
echo «» | |
helpUsage | |
exit -1 | |
else | |
# для mmm-build | |
cd $ {root_dir} | |
fi | |
# init | |
relative_target_path = $ 1 | |
product_name = $ {2: — $ (predProductName)} | |
is_accumulation_mode = 3 доллара США | |
# настроить целевой путь. | |
target_path = $ (getTargetPath «$ {cur_dir}/ $ {relative_target_path} «) | |
# параметр проверки | |
is_valid = $ (checkParams $ {target_path} $ {product_name}) | |
если [$ {is_valid} == «НЕДЕЙСТВИТЕЛЬНО»]; затем | |
helpUsage | |
exit -1 | |
fi | |
# заголовок журнала | |
writeLog «————————— —————————————— « | |
writeLog «Дата: $ (дата)» | |
writeLog «Продукт: $ {product_name}» | |
writeLog «Путь: $ {target_path} « | |
writeLog» Каталог сборки $ {cur_dir} « | |
# сборка и генерация сценария push | |
if [-z «$ {is_accumulation_mode}»]; затем | |
build $ {target_path} $ {product_name} $ {build_log_file} $ {script_file} | |
else | |
build $ {target_path} $ {product_name} $ {build_log_file} $ {script_file} $ {script_file} | |
fi | |
# вернуть текущий каталог | |
cd $ {cur_dir} |