Creación de variables

¿Te encuentras usando la misma cadena de texto varias veces mientras trabajas con archivos por lotes?

Por ejemplo, si copias un archivo específico y luego lo mueves a una carpeta de destino, tendrás que escribir la misma ruta varias veces, lo que puede ser propenso a errores.

copy C:\Users\user\Documents\sample.txt C:\Users\user\Documents\copy\sample.txt

move C:\Users\user\Documents\sample.txt C:\Users\user\Documents\copied\sample.txt

Durante la copia y el movimiento, se escribió C:\Users\user\Documents\sample.txt dos veces.

Esto no es un problema, pero escribir la misma cadena de texto varias veces puede causar errores tipográficos o hacer que la edición sea más difícil.

Para solucionar este problema, puede definir variables en archivos por lotes.

Al definir variables, no es necesario escribir la misma cadena de texto varias veces, lo que reduce la posibilidad de errores tipográficos.

Si reescribe el ejemplo anterior usando variables, se verá así:

set source=C:\Users\user\Documents\sample.txt

copy %source% C:\Users\user\Documents\copy\sample.txt

move %source% C:\Users\user\Documents\copied\sample.txt

Se asignó la variable source a la cadena de texto C:\Users\user\Documents\sample.txt, que se había escrito dos veces.

De esta manera, al escribir %source%, se entiende que se refiere a C:\Users\user\Documents\sample.txt.

En esta página, se explica cómo definir variables en archivos por lotes mediante el comando set, y se presentan ejemplos concretos de cómo utilizarlas.

Cómo definir variables

Para definir una variable, se utiliza el comando set.

set nombre_de_variable=valor

Después del comando set, especifique el nombre de la variable y su valor.

No debe haber espacios antes o después del signo igual.

Opciones del comando set

Además de definir variables, el comando set también puede aceptar la entrada del usuario al ejecutar el archivo por lotes mediante la especificación de opciones.

Opción /P

Al especificar la opción /P, se puede aceptar la entrada del usuario.

set /P nombre_de_variable=mensaje_a_mostrar

El comando anterior no significa que se asigne la cadena de texto “mensaje a mostrar” a la variable “nombre_de_variable”.

Cuando se especifica la opción /P, el comando set acepta la entrada del usuario.

La parte “mensaje a mostrar” es el mensaje que se muestra en la pantalla cuando se acepta el valor que se almacenará en la variable.

Si ejecuta el archivo por lotes anterior, se mostrará lo siguiente:

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>
bat-file.cmd
Mensaje a mostrar:

El comando set espera la entrada del usuario y no se ejecutará ninguna otra acción después de él.

Cuando el usuario ingresa un valor y presiona Enter, el valor ingresado se asigna a la variable y se ejecuta cualquier acción después del comando set.

Ejemplos concretos de uso de variables

Concatenación de cadenas

Variables y cadenas

Para concatenar una variable y una cadena específica, no se necesita un operador, simplemente se escribe %nombre_de_variable%cadena.

set source=C:\Users\user\Documents\sample

echo %source%.txt

Variables y variables

En el caso de variables y variables, se escribe %nombre_de_variable%%nombre_de_variable% de la misma manera.

set source=C:\Users\user\Documents\sample

set extension=.txt

echo %source%%extension%

Cálculo de fórmulas matemáticas

Puede realizar cálculos matemáticos utilizando el comando set /A para almacenar el resultado de una operación en una variable.

@echo off
setlocal

set x=0

for /L %%i in (1, 1, 10) do (
  set /A x=x+%%i
)

echo %x%

endlocal

Al ejecutar el archivo por lotes anterior, se mostrará lo siguiente:

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>
bat-file.cmd
55

Uso de variables de entorno

En un archivo por lotes, además de las variables definidas por el usuario, también se pueden utilizar variables de entorno predefinidas.

Las variables de entorno son variables proporcionadas por Windows que almacenan información relacionada con el sistema operativo.

Lista de variables de entorno

Variable de entornoDescripción
%CD%Ruta del directorio actual
%DATE%Fecha actual
%TIME%Hora actual
%RANDOM%Número aleatorio entre 0 y 32767
%ERRORLEVEL%Código de salida del comando anterior
%USERNAME%Nombre de usuario actual
%COMPUTERNAME%Nombre del equipo
%OS%Tipo de sistema operativo
%PROCESSOR_ARCHITECTURE%Tipo de procesador
%NUMBER_OF_PROCESSORS%Número de procesadores
%SYSTEMROOT%Ruta de la carpeta del sistema
%TEMP%Ruta de la carpeta temporal
%PATHEXT%Lista de extensiones de archivo ejecutable
%PATH%Ruta de archivos ejecutables
%HOMEDRIVE%Unidad de disco de la carpeta de inicio
%HOMEPATH%Ruta de la carpeta de inicio
%USERPROFILE%Ruta de la carpeta de usuario
%APPDATA%Ruta de los datos de la aplicación
%PROGRAMFILES%Ruta de los archivos de programa

Es útil recordar %userprofile% y otros comandos similares que se utilizan con frecuencia.

Ejemplos con variables de entorno

Crear un archivo en la carpeta de inicio del usuario

@echo off
setlocal

cd %userprofile%
dir

endlocal

Prueba de confirmación

Problema de práctica

¿Qué opción debe especificar para aceptar la entrada del usuario como una variable?

回答がサーバーに送信されることはありません
#PowerShell #Símbolo del sistema #Archivos por lotes