Nombre de archivo generado por el sistema con marca de tiempo en Batch Script

MD Aminul Islam 12 julio 2022
Nombre de archivo generado por el sistema con marca de tiempo en Batch Script

A veces, generamos registros del sistema a partir de un Batch Script. Pero, el problema aquí es el nombre del archivo de registro; si el nombre del archivo no es único, puede reemplazar el archivo que tiene el mismo nombre.

En este artículo, veremos cómo podemos generar un nombre de archivo único desde el sistema utilizando la hora y la fecha actuales. Además, discutiremos un código y su explicación para que sea más fácil de entender.

Nombre de archivo generado por el sistema con marca de tiempo en Batch Script

Estamos usando hora y fecha aquí porque la hora y la fecha no siempre son las mismas y brindan información sobre el nombre del archivo. En el siguiente ejemplo, generaremos un archivo de registro con el nombre que es la combinación de hora y fecha.

El código para nuestro ejemplo se verá como el siguiente:

@ECHO off
SET YY=%date:~10,4%
SET MM=%date:~4,2%
SET DD=%date:~7,2%
SET HH=%time:~0,2%
IF %HH% lss 10 (SET HH=0%time:~1,1%)

SET NN=%time:~3,2%
SET SS=%time:~6,2%
SET MS=%time:~9,2%

SET NEWFILENAME=%YY%%MM%%DD%-%HH%%NN%%SS%
ECHO "This is a data" > "G:\Directory\access_%NEWFILENAME%.txt"

Recuerde, Batch contiene variables integradas para hora y fecha; estos son %time% y %date%. Estas variables producen la hora y la fecha en un formato de cadena.

En nuestro código, separamos las partes de la fecha de la cadena usando estas líneas:

SET YY=%date:~10,4%
SET MM=%date:~4,2%
SET DD=%date:~7,2%

De manera similar, separamos las partes del tiempo de la cadena usando estas líneas:

SET HH=%time:~0,2%
IF %HH% lss 10 (SET HH=0%time:~1,1%)

SET NN=%time:~3,2%
SET SS=%time:~6,2%
SET MS=%time:~9,2%

Luego, creamos el nombre del archivo con la combinación de hora y fecha usando la línea:

SET NEWFILENAME=%YY%%MM%%DD%-%HH%%NN%%SS%

Y por último, creamos un archivo con el nombre generado por el sistema en un directorio específico usando la línea:

ECHO "This is a data" > "G:\Directory\access_%NEWFILENAME%.txt"

Cuando ejecute este script en su símbolo del sistema, verá un archivo cuyo nombre es la combinación de fecha y hora. Y el archivo contiene el texto This is a data.

Tenga en cuenta que el código que compartimos en este artículo está escrito en un script Batch y solo se ejecuta en el entorno del símbolo del sistema de Windows.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn