¿Cómo analizar cada línea de un archivo de texto como argumento para el símbolo del sistema en Windows?

¿Cómo analizar cada línea de un archivo de texto como argumento para el símbolo del sistema en Windows?

Estoy buscando escribir un script para el símbolo del sistema de Windows que tome un .txt (nombre de archivo) como argumento, lea el archivo línea por línea y pase cada línea a un comando. Si mi FILE.txtaspecto es:

LINE1
LINE2
LINE3
.
.
.

Corre:

command_name argument --option LINE1, entonces

command_name argument --option LINE2, después de la ejecución exitosa del primer comando. Ysigue ejecutando el mismo comando con diferentes argumentoselegido línea por línea de FILE.txt.

ElLa versión Linux/UNIX de lo que quiero lograr se ve así:

cat FILE.txt | xargs -L 1 echo --option | xargs -L 50 command_name argument

Respuesta1

ConPotencia Shell:

foreach($line in GC PathFolder\File.txt) {Write-Host command_name argument --option $Line}

ConLínea de comando: UsandoFOR /f

For /f "delims=" %a in ('Type "File.txt"') do (echo command_name argument --option %a)

Con unArchivo por lotes:

@echo off
@For /f "delims=" %%a in ('Type "File.txt"') do ( echo command_name argument --option %%a)
pause

O consulteLeer un archivo línea por línea y guardarlo en un archivo por lotes variable

Puedes hacer algo como esto:

@echo off
Color 0B & Title Read and parse each line of a text file as an argument to command prompt
set "File2Read=file.txt"
If Not Exist "%File2Read%" (Goto :Error)
rem This will read a file into an array of variables and populate it 
setlocal EnableExtensions EnableDelayedExpansion
@For /f "delims=" %%a in ('Type "%File2Read%"') do (
    set /a count+=1
    set "Line[!count!]=%%a"
)
REM Display array elements
@For /L %%i in (1,1,%Count%) do (
    echo "Var%%i" is assigned to ==^> "!Line[%%i]!"
    echo command_name argument --option !Line[%%i]!
)
pause>nul
Exit
::-------------------------------------------
:Error
cls & Color 4C
echo(
echo   The file "%File2Read%" dos not exist !
Pause>nul
exit /b
::-------------------------------------------

información relacionada