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\copied\sample.txt
move C:\Users\user\Documents\sample.txt C:\Users\user\Documents\moved\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\copied\sample.txt
move %source% C:\Users\user\Documents\moved\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. Si escribes set name = value, se define una variable llamada name (con un espacio al final) cuyo valor es value (con un espacio al principio).
Los nombres de variable no distinguen entre mayúsculas y minúsculas: %Source% y %SOURCE% se refieren a la misma variable.
Para usar una variable definida, escribe su nombre entre %, como en %nombre_de_variable%.
Por seguridad, es habitual encerrar toda la asignación entre comillas, como en set "source=C:\Users\user\Documents\sample.txt". Así se evita que espacios finales no deseados pasen a formar parte del valor.
Comprobar y eliminar variables
Al ejecutar set sin argumentos se muestran todas las variables definidas. set texto muestra solo las variables cuyo nombre empieza por ese texto.
Para eliminar una variable, deja vacío el lado derecho del signo igual.
set source=
Una variable definida con set solo es válida en la sesión del símbolo del sistema que ejecuta el archivo por lotes y no se guarda de forma permanente. Para descartarlas al terminar el archivo, encierra el código entre setlocal y endlocal.
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:
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
set /A almacena el resultado de un cálculo en una variable. Con /A se pueden usar los nombres de variable sin encerrarlos entre %.
set /A total=10+5*2
echo %total%
Esto muestra 20. /A solo trabaja con enteros y la parte decimal de una división se descarta.
El siguiente ejemplo recorre del 1 al 10 con for /L y suma cada número a 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:

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
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.
Ten en cuenta que %CD%, %DATE%, %TIME%, %RANDOM% y %ERRORLEVEL% de la tabla siguiente son variables dinámicas que devuelven un valor en el momento de consultarlas. No aparecen en la salida de set, pero se usan igual que las demás.
Lista de variables de entorno
| Variable de entorno | Descripció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 |
| %COMMONPROGRAMFILES% | Ruta de los archivos de programa comunes |
| %COMMONPROGRAMFILES(x86)% | Ruta de los archivos de programa comunes de 32 bits |
| %PUBLIC% | Ruta de la carpeta pública |
| %ALLUSERSPROFILE% | Ruta de la carpeta común de usuarios |
Es útil recordar %userprofile% y otras variables similares que se utilizan con frecuencia.
Ejemplos con variables de entorno
Crear un archivo en la carpeta de inicio del usuario
@echo off
setlocal
echo sample > "%USERPROFILE%\sample.txt"
endlocal
Usar %USERPROFILE% evita escribir a mano una carpeta de usuario que es distinta para cada usuario que ejecuta el archivo por lotes.