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