08.02.2022 Views

batch-file-es Windows

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Un ejemplo más avanzado muestra cómo se puede usar la derivación en el ciclo FOR de un

conjunto restringido de archivos para redirigir la ejecución por lotes, mientras se guarda el

contenido buscado en un archivo:

@echo off

setlocal enabledelayedexpansion

for /f %%i in ('dir "%temp%\test*.log" /o:-d /t:w /b') do (

set "last=%temp%\%%i"

type !last! | find /n /i "Completed" >nul 2>&1 >> %temp%\Completed.log ^

&& (echo Found in log %%i & goto :end) || (echo Not found in log %%i & set "result=1"))

:: add user tasks code here

if defined result echo Performing user tasks...

:end

echo All tasks completed

exit /b

Tenga en cuenta el tiempo en que las cadenas de comando se dividen en varias líneas de código

y los grupos de comandos están separados por paréntesis

Visitar directorios de forma recursiva en un árbol de directorios

for /r comando for /r se puede usar para visitar recursivamente todos los directorios en un árbol

de directorios y ejecutar un comando.

@echo off

rem start at the top of the tree to visit and loop though each directory

for /r %%a in (.) do (

rem enter the directory

pushd %%a

echo In directory:

cd

rem leave the directory

popd

)

Notas:

• para / r - Recorrer archivos (subcarpetas Recurse).

• pushd - Cambie el directorio / carpeta actual y almacene la carpeta / ruta anterior para usar

con el comando POPD.

• popd : cambie el directorio de nuevo a la ruta / carpeta almacenada más recientemente por

el comando PUSHD.

Renombrando todos los archivos en el directorio actual

Lo siguiente usa una variable con un bucle for para renombrar un grupo de archivos.

SetLocal EnableDelayedExpansion

for %%j in (*.*) do (

https://riptutorial.com/es/home 68

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!