es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay un método para cambiar el nombre del archivo de Excel con la fecha del último día del mes anterior en formato DDMMYYY. Aquí está el código que puede utilizar:

    @echo off
    setlocal EnableDelayedExpansion
    
    set "today=!date!"
    
    for /F "delims=" %%a in ('wmic path win32_localtime get day^,month^,year^| findstr /r /c:"^[0-9]"') do (
        set /a "day=100%%a%%100", "month=(100%%b%%100)-1", "year=%%c"
    )
    
    if %month% equ 0 (
        set /a "month=12", "year-=1"
    ) else (
        if %month% lss 10 set "month=0!month!"
    )
    
    set lastday=!day!
    set /a "lastday-=1"
    
    if !lastday! equ 0 (
        if !month! equ 2 (
            set /a "lastday=28"
        ) else (
            if "!month:~0,1!" equ "0" (
                set /a "lastday=30"
            ) else (
                set /a "lastday=31"
            )
        )
    )
    
    if !lastday! lss 10 set "lastday=0!lastday!"
    
    set "filename=ejemplo_!lastday!!month!!year!.xls"
    ren ejemplo.xls "!filename!"
    
    endlocal
    

    Este archivo por lotes utiliza una combinación de WMIC y operaciones aritméticas para obtener la fecha del último día del mes anterior. Luego cambia el nombre del archivo de Excel con el formato de fecha deseado. Ten en cuenta que el script anterior asume que el archivo de Excel que deseas cambiar de nombre se llama “ejemplo.xls”. Si tiene un nombre diferente, deberás modificar el script en consecuencia.

Comments are closed.