Eliminar comillas dobles de variables en un Batch archivo

Siddharth Bishnoi 20 marzo 2023
  1. Eliminar comillas dobles usando el carácter Tilde en un Batch archivo
  2. Eliminar todas las comillas dobles circundantes de las variables en un Batch archivo
  3. Eliminar comillas dobles usando el bucle FOR en un Batch archivo
Eliminar comillas dobles de variables en un Batch archivo

En los archivos por lotes, las variables que contienen varias palabras o espacios deben colocarse entre comillas dobles, pero a veces no queremos que estas comillas se vean en la salida. Estas comillas se pueden eliminar de las variables en los archivos por lotes.

Hay muchas formas de eliminar las comillas dobles de las variables. Algunos métodos crean problemas con el entorno CMD, lo que puede generar errores en su archivo Batch.

Estaremos discutiendo todos los métodos y posibilidades. Este tutorial analizará la eliminación de comillas dobles de las variables en un Batch archivo.

Eliminar comillas dobles usando el carácter Tilde en un Batch archivo

Las comillas dobles se pueden eliminar de las variables en un Batch archivo utilizando el carácter de tilde (~). El carácter de tilde (~) se utiliza de muchas maneras en los archivos por lotes.

Además de ser una eliminación de comillas de argumento, también se usa para extraer una subcadena de una variable de cadena en un Batch archivo. Para eliminar las comillas de las variables, use %~ antes del argumento de la línea de comando del que se deben eliminar las comillas.

Elimina las comillas circundantes del parámetro.

set A=%~1
set parameters=%~2 %~3
%A% %parameters%

Aquí, %1 especifica el primer parámetro de la línea de comandos que se pasa al Batch archivo, %2 especifica el segundo parámetro de la línea de comandos, y así sucesivamente. Solo maneja parámetros hasta %9.

Pero este método solo funciona para el parámetro de comando pasado a los archivos por lotes, no para las variables. Los usuarios a menudo usan esto para variables, lo que genera errores durante la ejecución del Batch archivo.

Eliminar todas las comillas dobles circundantes de las variables en un Batch archivo

Otra forma de eliminar las comillas dobles de las variables es usar %var:"=% en los archivos por lotes. Esto se puede usar para eliminar las comillas dobles de cualquier cadena o variable.

Puede eliminar las comillas de cualquiera de los extremos, es decir, las comillas externas, o eliminar todas las comillas a la vez. La sintaxis básica será:

set variable=%variable:"=%

El siguiente ejemplo muestra cómo eliminar todas las comillas de una variable en un Batch archivo:

set var1="Hello World"
set var1
set var1=%var1:"=%
set var1
PAUSE

Eliminar todas las comillas de una variable

Pero el código anterior no funcionará si la variable tiene un carácter &.

Además de eliminar las comillas dobles de las variables, también puede reemplazarlas con comillas simples o cualquier otro carácter. También puede reemplazar palabras en las variables usando el código anterior.

Reemplazar comillas dobles con comillas simples en un Batch archivo

Para reemplazar las comillas dobles con comillas simples, agregue la comilla simple después del signo igual, como se muestra en el ejemplo a continuación.

set var1="Hello World"
set var1
set var1=%var1:"='%
set var1
PAUSE

Reemplazar comillas dobles con comillas simples

Reemplazar palabras de variables en un Batch archivo

Para reemplazar una palabra de una variable en un Batch archivo con cualquier otra palabra, modifique el código anterior como se muestra en el siguiente ejemplo:

set var1="Hello World"
set var1
set var1=%var1:World=Hannah%
set var1
PAUSE

Reemplazar una palabra en una variable

Eliminar comillas dobles usando el bucle FOR en un Batch archivo

Las comillas dobles también se pueden eliminar utilizando el bucle for de una variable en los archivos por lotes. Agregue la siguiente línea en su Batch archivo, como se muestra en el ejemplo a continuación, para eliminar las comillas dobles de las variables.

SET var1="Hello World"
ECHO %var1%
FOR /F "delims=" %%I IN (%var1%) DO SET new_var1=%%I
ECHO %new_var1%
PAUSE

Eliminar comillas dobles usando FOR Loop

También puede crear un Batch archivo que contenga el código de una sola línea para el bucle FOR para eliminar las comillas dobles y guardarlo como un archivo .cmd. Además, utilizando el comando CALL, puede usarlo en otro Batch archivo directamente para eliminar las comillas dobles de las variables.

Tenga en cuenta que esto no funcionará para cotizaciones no coincidentes. Puede consultar el foro SS64 haciendo clic aquí para obtener más información.

Entonces, discutimos cómo eliminar las comillas dobles de las variables en un Batch archivo usando diferentes métodos. Además, las limitaciones se mencionan al final de cada método.

Artículo relacionado - Batch Variable