Как использовать переменную из счетчика цифр c в файле ".bat" без конфликта с другими переменными? - PullRequest
0 голосов
/ 05 апреля 2020

Я написал код в .bat, который записывает количество чисел в переменной. Этот счетчик находится внутри for, конечно! Проблема в том, что когда я запускаю файл .bat, окно немедленно закрывается, даже если я использую pause. Когда я запускаю этот же код для файла, который имеет только этот код, счетчик работает нормально. Что может быть причиной ошибки?

set /a var=0
for /r c:users\user\desktop\ %%file IN (*.mp3*) do (
  set /a var+=1
)
echo %var%

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Просто чтобы дать вам альтернативу (возможно, быстрее, когда есть много файлов):

for /f %%a in ('dir /s /b "c:users\user\desktop\*.mp3*" ^|find /c /v ""') do set "var=%%a"
echo %var%
0 голосов
/ 05 апреля 2020

for l oop переменные могут быть только одной буквой. %%file не является допустимым именем переменной, поэтому вы получаете сообщение об ошибке. (Запустите скрипт из командной строки вместо двойного щелчка по нему, чтобы увидеть ошибку %file was unexpected at this time.) Просто измените переменную l oop на %%f.

set /a var=0
for /r c:users\user\desktop\ %%f IN (*.mp3*) do (
  set /a var+=1
)
echo %var%
...