Estoy intentando escribir un archivo por lotes para convertir un conjunto de archivos de Excel de .xls a .xlsx para un informe mensual que tengo.
Esto es lo que tengo actualmente:
"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"
Me gustaría poder ejecutar esto sin tener que cambiar el mes en la ruta del archivo, que se parece a esto:
H:\File Path\2018\Support\03 March\Other
Me gustaría hacer que cuando ejecute esto el próximo mes, automáticamente coloque "04 de abril" donde está el 03 de marzo. También sería fantástico si pudiera completar el 2018 en la ruta del archivo. ¿Es esto posible para un archivo por lotes?
¡Gracias!
Respuesta1
:: 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%"
Salida de muestra:
"C:\Archivos de programa (x86)\Microsoft Office\Office14\excelcnv.exe" -oice^
"H:\Ruta del archivo\2018\Support\04 April\Other\04 Export.xls" ^
"H:\Ruta del archivo \2018\Support\04 April\Other\04 Export.xlsx"
No puedo encontrar "C:\Program Files (x86)\Microsoft Office\Office14\excelcnv.exe"
No puedo encontrar "H:\File Path\2018 \Soporte\04 Abril\Otro\04 Export.xls"