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

У меня есть команда ниже, чтобы подсчитать все каталоги, которые следуют шаблону 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 от завершения выполнения пакетного файла при некорректном вводе пользователя?
  • Файл старше 4 минут в пакетном файле
  • Как проверить размер файла в пакетном скрипте Windows?
  • Меньше или равно
  • DOS пакетный цикл FOR с FIND.exe удаляет пустые строки?
  • Несколько меню выбора в пакетном файле?
  • Что означает :: (двойной двоеточие) в пакетных файлах DOS?
  • Как написать полный путь в пакетном файле, имеющем имя папки с пробелом?
  • Interesting Posts

    Разница между оправданием, выравниванием элементов и выравниванием содержимого в CSS Grid

    В Windows 7 вы можете перетащить окно с каждой стороны, чтобы разделить на 2 экрана, можете ли вы получить 4 с несколькими мониторами?

    Прочтите всю историю команд терминала в OS X

    grep для выражения, содержащего переменную

    двухсторонний график плотности в сочетании с односторонним графиком плотности с выбранными областями в r

    Запустить одно исполнение плагина Maven?

    Android Studio – как изменить путь к SDK Android

    Что такое «% AppData%»?

    MySQL: невозможно создать таблицу (errno: 150)

    Значения сумм в одном диапазоне по критерию в другом

    Ошибка: (6, 0) Метод Gradle DSL не найден: ‘google ()’

    Поддержка арабского текста для Android Emulator

    Как добавить второй жесткий диск к предварительно настроенной машине UEFI / ACHI Windows 8?

    поддержка FragmentPagerAdapter содержит ссылку на старые fragmentы

    VIM Отключить автоматическую новую строку в конце файла

    Давайте будем гением компьютера.