Datumsformeln zum Aktualisieren eines Dateipfads in der Stapeldatei

1

Ich versuche, eine Batch-Datei zu schreiben, um eine Reihe von Excel-Dateien von XLS nach XLSX für einen monatlichen Bericht zu konvertieren, den ich habe.

Das habe ich aktuell:

"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 machen, dass wenn ich diesen nächsten Monat starte, es automatisch "04 April" setzt, wo der 03 März ist. Es wäre auch toll, wenn ich die 2018 auch im Dateipfad eintragen könnte. Ist dies für eine Batch-Datei möglich?

Vielen Dank!

Klindy
quelle

Antworten:

0
:: 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" -Option ^
"H: \ Dateipfad \ 2018 \ Support \ 04 April \ Other \ 04 Export.xls" ^
"H: \ Dateipfad \ 2018 \ Support \ 04 April \ Other \ 04 Export.xlsx "
Kann" C: \ Programme (x86) \ Microsoft Office \ Office14 \ excelcnv.exe "
Kann" H: \ Dateipfad \ 2018 nicht finden \ Support \ 04 April \ Andere \ 04 Export.xls "

LotPings
quelle
Vielen Dank! Das funktioniert bei mir! Ist es möglich, dass es den Vormonat anzeigt? Wenn es also jetzt April ist, werden wir die März-Berichte ausführen. Vielen Dank!
Klindy