Формулы даты для обновления пути к файлу в пакетном файле

Формулы даты для обновления пути к файлу в пакетном файле

Я пытаюсь написать пакетный файл для преобразования набора файлов Excel из .xls в .xlsx для ежемесячного отчета, который у меня есть.

Вот что у меня сейчас есть:

"C:\Program Files (x86)\Microsoft Office\Office14\excelcnv.exe" -oice "H:\File Path\2018\Support\03 March\Other\03 Export.xls" "H:\File Path\2018\Support\03 March\Other\03 Export.xlsx"

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

H:\File Path\2018\Support\03 March\Other

Я хотел бы сделать так, чтобы при запуске в следующем месяце он автоматически поместил "04 апреля" вместо 03 марта. Было бы также здорово, если бы я мог также заполнить 2018 год в пути к файлу. Возможно ли это для пакетного файла?

Спасибо!

решение1

:: Q:\Test\2018\04\12\SU1313056.cmd
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion

:: Get date in a locale/user-settings independent format
for /f "tokens=1-3 delims=.+-" %%A in (
  'wmic os get LocalDateTime^|findstr ^^[0-9]'
    ) do Set _DT=%%A
Set "yy=%_DT:~0,4%"&Set "MM=%_DT:~4,2%"&Set "dd=%_DT:~6,2%"

:: Build MonthName[01..12] array
Set i=100&Set "MonthName= January February March April May June July August September October November December"
Set "MonthName=%MonthName: ="&Set /a i+=1&Set "MonthName[!i:~-2!]=%"
:: Set MonthName

Set "Excel=C:\Program Files (x86)\Microsoft Office\Office14\excelcnv.exe"
Set "Src=H:\File Path\%yy%\Support\%MM% !MonthName[%MM%]!\Other\%MM% Export.xls"
Set "Dst=%Src%x"

:: Show command
Echo "%Excel%"  -oice^^
Echo   "%Src%" ^^
Echo   "%Dst%"

If Not exist "%Excel%" (Echo Can't find "%Excel%" & Pause & Exit /B 1)
If Not exist "%Src%"   (Echo Can't find "%Src%"   & Pause & Exit /B 1)

::DoIt
"%Excel%" -oice "%Src%" "%Dst%"

Пример вывода:

"C:\Program Files (x86)\Microsoft Office\Office14\excelcnv.exe" -oice^
"H:\Путь к файлу\2018\Support\04 Апрель\Другое\04 Экспорт.xls" ^
"H:\Путь к файлу\2018\Support\04 Апрель\Другое\04 Экспорт.xlsx"
Невозможно найти "C:\Program Files (x86)\Microsoft Office\Office14\excelcnv.exe"
Невозможно найти "H:\Путь к файлу\2018\Support\04 Апрель\Другое\04 Экспорт.xls"

Связанный контент