/ ммм-летучая мышь

/ ммм-летучая мышь
На чтение
18 мин.
Просмотров
16
Дата обновления
11.11.2024


Сохранить дату в формате ДД-МММ-ГГГГ

Я пытаюсь получить сегодняшнюю дату в ДД-МММ -ГГГГ (например, 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}
0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий