Как сохранить результат выражения команды в переменной с помощью битовых скриптов?

У меня есть команда ниже, чтобы подсчитать все каталоги, которые следуют шаблону 20?????? :

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

Например, если у меня есть следующие каталоги, команда вернет 6:

 20090901 20090902 20090903 20090904 20090905 20090906 

Как сохранить результат этой команды (6 в предыдущем примере) в переменной?

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

Это все.

Конечно, если вы не хотите файл, просто сделайте это потом:

 del x.txt 

EDIT - как сделать имя файла уникальным:

@Mai: используйте это для создания имени файла uniqe:

 set timestamp=%date:.=%%time::=% set timestamp=%timestamp:,=% set timestamp=%timestamp:/=% set timestamp=%timestamp:-=% set filename=file%timestamp%.tmp 

Добавьте новые замены, если формат даты вашей системы культуры содержит другие символы внутри

Вот пример:

 @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 ... 

Это мой код:

 @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 

Он принимает входные данные от com и выходов с output

 @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 
  • Как разделить двойную кавычку на несколько строк в пакетном файле Windows?
  • Что означает :: (двойной двоеточие) в пакетных файлах DOS?
  • Как два текстовых файла могут быть прочитаны параллельно пакетным файлом?
  • Как получить IP-адрес в переменной пакетного файла?
  • Как запустить пакетный файл с моего приложения Java?
  • Пакетные файлы Windows: что такое переменное расширение и что означает EnableDelayedExpansion?
  • Как вызвать пакетный скрипт из Powershell?
  • Отладка нерабочего командного файла или команды, выполняемой установщиком Inno Setup
  • создание ярлыка для exe из командного файла
  • (Пакет Windows) Goto внутри, если блок ведет себя очень странно
  • Хранить файл внутри пакетного файла?
  • Давайте будем гением компьютера.