variable una salida resultado manejo lista guardar ejemplos cómo comandos comando batch bat avanzados asignar archivos batch-file

batch-file - una - lista de comandos batch



¿Cómo almacenar el resultado de una expresión de comando en una variable usando scripts bat? (5)

Tengo el siguiente comando para contar todos los directorios que siguen el patrón 20?????? :

''dir /b "20??????" | find /c "2"''

Por ejemplo, si tengo los siguientes directorios, el comando devolvería 6:

20090901 20090902 20090903 20090904 20090905 20090906

¿Cómo puedo almacenar el resultado de este comando (6 en el ejemplo mencionado) en una variable?


Aquí hay una muestra:

@echo off set wildcard=C:/*.* set count=0 FOR /F %%a in (''DIR /B %wildcard%'') do set /A count=count+1 echo %count% files matching %wildcard% set choice= set /p choice=Press enter to continue ...


Este es mi código:

@echo off set com=echo HI ::Start Of Code You Need echo|%com%>>"%temp%/tmp.txt" for /f "tokens=* delims=" %%x in (%temp%/tmp.txt) do ( set output=%%x ) del /q %temp%/tmp.txt ::End Of Code You Need echo This Is The Output: echo %output% pause>NUL

Toma la entrada de com y outputs de output


(dir /b "20??????" | find /c "2")>>x.txt set /p variable=<x.txt

Eso es todo.

Por supuesto, si no quiere el archivo, simplemente haga esto luego:

del x.txt


@echo off REM The command fltmc volumes provides some information about drives REM I need to extract the drive letter associated to a particular volume name. REM Here''s how: fltmc volumes | find /i "/Device/HarddiskVolume3" > delme.txt for /f "tokens=1 delims= " %%i in (delme.txt) DO echo %%i Del /f delme.txt


set cmd="dir /b "20??????" | find /c "2" " FOR /F "tokens=*" %%i IN ('' %cmd% '') DO SET X=%%i