08.02.2022 Views

batch-file-es Windows

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Aquí hay un ejemplo simple:

copy foo.ext bar.ext

Esto copia foo.ext a bar.ext , y crea bar.ext cuando no existe. También podemos especificar rutas

al archivo, pero siempre es ideal colocar comillas ( " ) alrededor de las rutas, consulte aquí el

motivo.

También hay muchas banderas disponibles para copy , ver copy /? o help copy en un símbolo del

sistema para ver más.

Edición de la línea n de un archivo

El archivo por lotes no viene con un método incorporado para reemplazar la línea n de un archivo,

excepto replace y append ( > y >> ). Usando for bucles, podemos emular este tipo de función.

@echo off

set file=new2.txt

call :replaceLine "%file%" 3 "stringResult"

type "%file%"

pause

exit /b

:replaceLine <fileName> <changeLine> <stringResult>

setlocal enableDelayedExpansion

set /a lineCount=%~2-1

for /f %%G in (%~1) do (

if !lineCount! equ 0 pause & goto :changeLine

echo %%G>>temp.txt

set /a lineCount-=1

)

:changeLine

echo %~3>>temp.txt

for /f "skip=%~2" %%G in (%~1) do (

echo %%G>>temp.txt

)

type temp.txt>%~1

del /f /q temp.txt

endlocal

exit /b

• La secuencia de comandos principal llama a la función replaceLine , con el nombre de

archivo / la línea a cambiar / y la cadena a reemplazar.

• La función recibe la entrada.

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

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

Saved successfully!

Ooh no, something went wrong!