Red de conocimiento de divisas - Preguntas y respuestas sobre Forex - Explicación detallada de los parámetros de procesamiento por lotes

Explicación detallada de los parámetros de procesamiento por lotes

Variables en el comando FOR

Hay algunas variables en el comando FOR. ¡Muchos amigos novatos no entienden su uso! ¡Hoy les explicaré su uso!

Primero enumere todas las variables de FOR:

~I: elimine las comillas (") y expanda %I

%~fI: expanda %I a una ruta de acceso completa

%~dI - Expande %I solo a una letra de unidad

%~pI - Expande %I solo a una ruta

% ~nI - Expande % I solo a un nombre de archivo

%~xI - Expande %I solo a una extensión de archivo

%~sI - Expande rutas que contienen solo nombres cortos

% ~aI - Expande %I a los atributos del archivo del archivo

%~tI - Expande %I a la fecha/hora del archivo

% ~zI - Expande %I al tamaño del file

%~$PATH:I: busque el directorio que figura en la variable de entorno PATH y expanda %I

al primer directorio encontrado. Un nombre completo si es el nombre de la variable de entorno.

no está definido, o no se encuentra el archivo, esta combinación de teclas se expande a la

cadena vacía

Podemos ver que cada línea tiene una letra mayúscula "I". Esta I es en realidad la variable que trajimos en FOR. ¿Cuál es el nombre de la variable que sustituimos en la declaración FOR? Simplemente escríbalo aquí.

Por ejemplo:FOR /F %%z IN ('set') DO @echo %%z

El nombre de la variable que sustituimos aquí es z, luego tenemos que cambiar la I por z, por ejemplo, cambiar %~fI por %~fz

En cuanto al contenido anterior de %~p, ¡es la sintaxis!

Comencemos con la explicación:

~I - Elimina las comillas (" ) , expanda %I

La función de esta variable es la descrita, ¡elimine las comillas!

Veamos este ejemplo:

Primero creamos una A archivo de texto llamado temp.txt, ingrese estos contenidos en él

"1111

2222"

"3333"

44 "44

Luego crea un archivo BAT con el siguiente código:

FOR /F "delims=" %%i IN (temp.txt) DO @echo %%~i

pausa

Después de la ejecución, vemos el eco de CMD de la siguiente manera:

1111

2222"

3333

p>

44"44

Comparándolo con el contenido anterior en temp.txt, encontraremos que las comillas en la primera y tercera línea han desaparecido. Esto es para eliminar las comillas ~ i ¡Funciona!

Las reglas para eliminar comillas son las siguientes (¡se agregó Brother BAT!)

1. Si hay comillas al principio y al final de la cadena, elimínelas. las comillas al principio y al final;

2. Si no hay comillas al final de la cadena, elimine las comillas al principio de la cadena

3; Si hay comillas en el medio de la cadena, o solo al final, no se eliminarán.

%~fI - expande %I a un nombre de ruta completo

Ver ejemplo:

Guarda el código en cualquier lugar, aquí estoy. Simplemente colócalo en el escritorio.

FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~fi

pausa

Después de la ejecución, se muestra el siguiente contenido

C:\Documents and Settings\Administrator\Desktop\test.bat

C:\Documents and Settings\Administrator\Desktop\test.vbs

Cuando cambio %%~fi en el código directamente a %%i

FOR /F "delims==" %%i IN ('dir /b') DO @ echo %%i

pausa

Estos contenidos se mostrarán después de la ejecución

test.bat

test.vbs

En comparación, podemos ver fácilmente que no hay ruta. Esta es la función de "expandir %I a un nombre de ruta completo"

Es decir, si el contenido de la variable %i. es Si se proporciona un nombre de archivo, imprimirá la ruta absoluta donde se encuentra el archivo, en lugar de simplemente imprimir un nombre de archivo. ¡Lo sabrá experimentando usted mismo!

%~dI -. solo extienda %I a una letra de unidad

Mire el ejemplo:

El código es el siguiente, ¡todavía lo coloco en el escritorio para ejecutarlo!

FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~di

pausa

Después de la ejecución, se muestra lo siguiente en mi CMD

C:

C:

Hay dos archivos en mi escritorio, test.bat, test.vbs y %%~di. es que si el contenido de la variable %%i es un nombre de archivo o directorio, imprimirá el símbolo de la unidad donde se encuentra el archivo o directorio.

%~pI - solo expanda %I a una ruta

Este uso es el mismo que el anterior, solo imprime la ruta pero no el nombre del archivo

FOR /F "delims==" %%i IN ('dir /b' ) HACER @echo %%~ pi

pausa

No escribiré los resultados. Puedes copiar el código y ver los resultados tú mismo. Todos los siguientes se utilizan en. de esta manera se proporcionan los códigos y usted mismo puede ver los resultados

%~nI - Expanda %I a un nombre de archivo únicamente

Imprima solo el nombre del archivo

FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ni

pausa

%~xI - solo expandir %I a una extensión de archivo

Imprimir solo la extensión del archivo

FOR /F "delims==" %%i IN ('dir /b') DO @echo %% ~xi

pausa

%~sI - las rutas expandidas contienen solo nombres cortos

Imprime nombres de archivos cortos absolutos

FOR /F " delims==" %%i IN ('dir / b') DO @echo %%~si

pausa

%~aI - expande %I a los atributos del archivo

Imprimir los atributos del archivo

FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ai

pausa

>%~tI - Expande %I a la fecha/hora del archivo

Imprime la fecha en que se creó el archivo

FOR /F "delims==" %%i IN ( 'dir / b') DO @echo %%~ti

pausa

%~zI - expandir %I al tamaño del archivo

Imprimir el tamaño del archivo

p>

FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~zi

pausa

%~$PATH :I: busca los directorios enumerados en la variable de entorno PATH y expande %I

al primer nombre completo encontrado. Si el nombre de la variable de entorno

no está definido o no se encuentra el archivo, esta combinación de teclas se expandirá a

la cadena vacía

Esta es la última uno, y los anteriores. Son diferentes, ¡déjame hablar de ellos por separado!

Primero creamos un archivo temp.txt en el escritorio y escribimos estos contenidos en él

c:\ windows

c:\windows\system32

c:\windows\teett

Luego guarde estos códigos como procesamiento por lotes y colóquelos en el escritorio.

p>

FOR / F "delims==" %%i IN (temp.txt) DO @echo %%~$PATH:i

pausa

Después de la ejecución, CMD muestra el siguiente contenido

c:\WINDOWS

c:\WINDOWS\system32

ECHO está activado.

¿Por qué sucede esto? También hay una línea de c:\windows\teett?

Cuando ingresamos directamente echo %path% en CMD, se mostrará C:\WINDOWS\ system32;C :\WINDOWS;C:\WINDOWS\System32\Wbem

%%~$PATH:i significa encontrar contenido que coincida con el valor de esta variable PATH en el texto. igual que la variable PATH, luego imprímala

Si no son iguales, ¡se mostrará una línea en blanco!

Solo se puede aplicar a la variable PATH, no a otras Si desea comparar muchos valores, puede intentar asignar el valor a las variables PATH. ¡No las he probado!

¡Bien, eso es todo para la introducción de las variables FOR!

上篇: ¿Qué programas hay en la Gala del Festival de Primavera? 下篇: ¿Qué tipo de uniforme de camuflaje debo elegir para fotografiar pájaros?
Artículos populares