Сохранить дату в формате ДД-МММ-ГГГГ
Я пытаюсь получить сегодняшнюю дату в ДД-МММ -ГГГГ (например, 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} |




