5 votos

Llevar o no llevar tilde

Al escribir el lote FOR bucles he cogido la costumbre de usar tildes en los nombres de los marcadores de posición de las variables en la parte del comando del script y encerrarlo entre comillas dobles.

Ejemplo de sintaxis

FOR %%A IN ("*.*") DO ECHO "%%~A"

enter image description here

Razón

Suelo escribir scripts así de serie sean o no realmente necesarios sin pensarlo. Me gusta cómo elimina las comillas dobles del set del bucle y luego los vuelve a añadir explícitamente en el command parameter parte del bucle.

Pregunta

  • ¿Podría haber un escenario en el que el uso de la tilde podría ser realmente perjudicial cuando se utiliza con un FOR bucle a través de batch script o línea de comandos?

  • ¿Cuáles son las razones, según la experiencia de otras personas o tal vez documentadas oficialmente en algún lugar, por las que usted querría o no querría utilizar tildes por esta razón con FOR ¿los bucles a través de cmd o por lotes?

0 votos

Nunca los he usado, nunca los he necesitado. No lo haría, ya que no quiero echarles un vistazo y pensar que tienen algo que ver con la carpeta de inicio del usuario. Es una elección estilística, tengo curiosidad por ver lo que dicen los demás.

1 votos

Por lo general, no me gusta añadir pequeñas "cositas" a los comandos sólo por gusto.

3voto

LotPings Puntos 62

En tu caso exacto de uso no hace la diferencia pero tampoco perjudica :

  • ya que los nombres de archivo iterados por un comodín siempre se devuelven sin comillas.

Al iterar algunas cadenas entre comillas dobles (especialmente los argumentos de la línea cmd %* )
Siempre los usaría:

@Echo off
For %%A IN (
    "this is a sentence"
    two words
    "some words"
) Do (
    Echo with tilde: "%%~A"
    Echo w/o  tilde: "%%A"
    Echo:
)

> SU1397704.cmd
with tilde: "this is a sentence"
w/o  tilde: ""this is a sentence""

with tilde: "two"
w/o  tilde: "two"

with tilde: "words"
w/o  tilde: "words"

with tilde: "some words"
w/o  tilde: ""some words""

0 votos

¡¡¡Sí, esa es la razón por la que los uso en base a la costumbre porque me tocó eso con la iteración de los valores que tienen espacios!!!

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X