Цикл сценария пакетной обработки

Вы можете попробовать использовать левое соединение

select * from students a left join marks b
on a.studentid=b.studentid
.
258
задан Tom J Nowell 23 July 2018 в 11:03
поделиться

3 ответа

для / l - ваш друг:

for /l %x in (1, 1, 100) do echo %x

Начинается с 1, шаг за шагом и заканчивается на 100.

Используйте два % , если они находятся в пакетном файле

for /l %%x in (1, 1, 100) do echo %%x

(это одна из вещей, которые я действительно ненавижу в сценариях Windows)

Если у вас есть несколько команд для каждой итерации цикла, сделайте следующее:

for /l %x in (1, 1, 100) do (
   echo %x
   copy %x.txt z:\whatever\etc
)

или в пакетном файле

for /l %%x in (1, 1, 100) do (
   echo %%x
   copy %%x.txt z:\whatever\etc
)

Ключ:
/ l означает, что команда for будет работать численно, а не работать с набором файлов
% x - это переменная цикла
{{1} } (начальное значение, приращение значения, конечное условие [включительно])

496
ответ дан 23 November 2019 в 02:41
поделиться

Используйте seq in for loop

for i in `seq 1 100`
do 
   echo $i
done
0
ответ дан 23 November 2019 в 02:41
поделиться

DOS не предлагает очень элегантных механизмов для этого, но я думаю, что вы все равно можете запрограммировать цикл для 100 или 200 итераций с разумными усилиями. Хотя числового для цикла нет, вы можете использовать символьную строку в качестве «переменной цикла».

Закодируйте цикл, используя GOTO, и для каждой итерации используйте SET X =% X% @ , чтобы добавить еще один знак @ к переменной окружения X; и для выхода из цикла сравните значение X со строкой из 100 (или 200) @ знаков.

Я никогда не говорил, что это элегантно, но это должно сработать!

1
ответ дан 23 November 2019 в 02:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: