Мне нужно запустить команду Windows n раз в файле сценария bat. Я знаю, как сделать это на разных языках программирования, но не могу сделать это прямо в командной строке Windows :-(
Я бы ожидал что-то вроде
for(int i = 0; i < 100; i++) {
// do something
}
или даже это (хотя и не совсем серьезно)
1.upto(100, {
// do something
})
Благодарность!
РЕДАКТИРОВАТЬ
Я могу написать программу на Java, Perl, C или любой другой, который будет генерировать сценарий Bat, который выглядит следующим образом
for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N
и так далее. Или даже "лучше"
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12
и затем выполнить его ... Но дело в том, что мне нужен краткий способ указать диапазон чисел для перебора в скрипте.
Благодарность!
Ответы:
Вы можете сделать это так же, как это:
1,1,5 расшифровывается как:
Также обратите внимание, что если вы встраиваете это в пакетный файл, вам нужно будет использовать двойной знак процента (%%) для префикса ваших переменных, иначе интерпретатор команд попытается вычислить переменную% i до запуска цикла.
источник
@
знака будет подавлять печать команд, поскольку они выполняются из командной строки. "... DO @ (..."%%i
в своем тексте и добавить комментарий, что он предназначен%i
для непосредственного выполнения в командной строке. Большинство пользователей проверят это в файле BAT и попытаются найти причину, по которой они получают ошибку (как я).Синтаксис
Хорошая статья здесь и особенности XP здесь
источник
Прямо из командной строки:
Использование командного файла:
Вывод:
источник