Datumsformeln zum Aktualisieren eines Dateipfads in einer Batchdatei

Datumsformeln zum Aktualisieren eines Dateipfads in einer Batchdatei

Ich versuche, eine Batchdatei zu schreiben, um eine Reihe von Excel-Dateien für einen meiner Monatsberichte von XLS in XLSX zu konvertieren.

Das habe ich derzeit:

"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"

Ich möchte dies ausführen können, ohne den Monat im Dateipfad ändern zu müssen, der ungefähr so ​​aussieht:

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

Ich möchte es so einrichten, dass beim Ausführen im nächsten Monat automatisch „04. April“ anstelle des 03. März eingefügt wird. Es wäre auch toll, wenn ich das Jahr 2018 ebenfalls in den Dateipfad eintragen könnte. Ist das für eine Batchdatei möglich?

Danke!

Antwort1

:: 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%"

Beispielausgabe:

"C:\Programme (x86)\Microsoft Office\Office14\excelcnv.exe" -oice^
"H:\Dateipfad\2018\Support\04 April\Other\04 Export.xls" ^
"H:\Dateipfad\2018\Support\04 April\Other\04 Export.xlsx"
"C:\Programme (x86)\Microsoft Office\Office14\excelcnv.exe" kann nicht gefunden
werden "H:\Dateipfad\2018\Support\04 April\Other\04 Export.xls" kann nicht gefunden werden

verwandte Informationen