Надо на _YYYY_MM суффикс к имени файла в командном файле - PullRequest
2 голосов
/ 07 сентября 2011

Предположим, что передана отчетная дата, в которой нет начальных нулей для части месяца месяца. Обычно он передается как param1, но ниже я приведу значение для этого примера.

Я хотел бы создать строку, в которой месяц и год извлечены из переданной даты, и построить строку в формате YYYY_MM, где MM имеет начальные нули.

REM SET ReportingDate=%1 
SET ReportingDate=7/31/2011

@For /F "tokens=1,2,3 delims=/ " %%A in ("%ReportingDate%") do @( 
Set Month=%%A
Set Day=%%B
Set Year=%%C
)

echo Year=%Year%
echo Month=%Month%

SET NewFileName=MEMBOB_%Year%_%Month%.csv

В: Мои знания о пакетных файлах ограничены. Что мне нужно сделать, чтобы принудительно установить начальный ноль на монте, если месяц даты имеет длину в 1 цифру?

1 Ответ

3 голосов
/ 07 сентября 2011

Используйте оператор if для добавления 0, если месяц меньше 10:

if %Month% LSS 10 Set Month=0%Month%
...