Para cumplir tus requerimientos en Batch Script:
1. Mover un archivo de una ruta a otra: Se usa el comando move.
2. Renombrar el archivo y cambiar la fecha juliana a DDMMYYYY: Se requiere extraer la fecha juliana del nombre, convertirla y renombrar el archivo.
Aquí tienes un ejemplo de código Batch Script que realiza ambas tareas. Supongamos que el archivo original tiene un nombre como archivo_2024165.txt (donde 2024165 es la fecha juliana: año 2024, día 165).
-----------------------------------------------------------------------------------------------------------------------------------
@echo off
setlocal enabledelayedexpansion
REM Configura las rutas
set "origen=C:\ruta\origen\archivo_2024165.txt"
set "destino=C:\ruta\destino"
REM Mueve el archivo
move "%origen%" "%destino%"
REM Extrae el nombre del archivo movido
for %%F in ("%destino%\archivo_*.txt") do (
set "archivo=%%~nxF"
REM Extrae la fecha juliana del nombre
for /f "tokens=2 delims=_" %%A in ("!archivo!") do (
set "fechaJuliana=%%~nA"
set "anio=!fechaJuliana:~0,4!"
set "dia=!fechaJuliana:~4,3!"
REM Convierte día juliano a fecha DDMMYYYY
powershell -Command "$date = [datetime]::ParseExact('%anio%', 'yyyy', $null).AddDays(%dia% - 1); Write-Host $date.ToString('ddMMyyyy')" > temp_fecha.txt
set /p fechaDDMMYYYY=<temp_fecha.txt
del temp_fecha.txt
REM Renombra el archivo
ren "%destino%\!archivo!" "archivo_!fechaDDMMYYYY!.txt"
)
)
endlocal
-----------------------------------------------------------------------------------------------------------------------------------
odifica las rutas de origen y destino según tus necesidades.
• El script usa PowerShell para convertir la fecha juliana a DDMMYYYY, ya que Batch puro no tiene funciones de fecha avanzadas.
• El nombre final será archivo_DDMMYYYY.txt.