2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Пакетный файл
Сообщение24.05.2013, 11:53 
Аватара пользователя
Вопрос маленький... подскажите, пожалуйста, если кто знает.

Есть такой пакетный файл:

Код:
@echo off
set konst=%1
:cikl
echo %konst% > input.txt
cls
echo Џа®ўҐапҐвбп Є®­бв ­в бб®жЁ вЁў­®бвЁ K=%konst%
start.exe input.txt
primit6as2.exe output.txt
set /a konst+=2
if "%konst%" leq "838" goto cikl
echo „«п ўл室 ­ ¦¬ЁвҐ «оЎго Є« ўЁиг . . .
pause > nul

Этот файл товарищ написал по моей просьбе.
Выполняются две программы. Параметром для первой программы (start.exe) является константа ассоциативности - konst. Здесь этот параметр изменяется с шагом 2, то есть выполняется проверка всех чётных констант ассоциативности. Окончание цикла по константе определяется условием (не больше 838).
Начальное значение константы задаётся при запуске пакетного файла:
run.bat 258

Этот файл работает хорошо, вопросов нет.
Теперь мне надо проверить константы ассоциативности из списка, например:
6718,11758,12178,14698,...

Можно ли это записать в пакетный файл? Если да, то как это сделать?
Какова максимальная длина списка, если его можно вставить в пакетный файл?
У меня список большой. Но я могла бы порциями делать.

Заранее благодарю.

 
 
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:18 
Проще всего создать еще один batch-файл и вызывать из него основной.
Новый батч-файл может иметь, например, вид:
Код:
call run.bat 6718
call run.bat 11758
call run.bat 12178
call run.bat 14698

Количество строк в нем может быть достаточно большим.

 
 
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:29 
Аватара пользователя
А основной файл тогда надо изменить?
Каким образом?

 
 
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:32 
Nataly-Mak в сообщении #727815 писал(а):
А основной файл тогда надо изменить?
Нет, основной файл менять не надо.

 
 
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:38 
Аватара пользователя
То, что в основном файле записано для определения параметра konst, будет игнорироваться?

Спасибо, попробую предложенный вами вариант.

 
 
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:59 
Nataly-Mak в сообщении #727821 писал(а):
То, что в основном файле записано для определения параметра konst, будет игнорироваться?
Не игнорироваться, а переопределяться при каждом новом запуске.

И поправка: Ваш run.bat действительно нужно подправить - убрать строку
Код:
pause > nul

 
 
 
 Re: Пакетный файл
Сообщение25.05.2013, 06:36 
Аватара пользователя
Yuri Gendelman в сообщении #727834 писал(а):
И поправка: Ваш run.bat действительно нужно подправить - убрать строку
Код:
pause > nul

Это изменение в основной файл внесла.
Создала новый пакетный файл:

Код:
call run.bat 258
call run.bat 278
call run.bat 300
call run.bat 302
call run.bat 310
call run.bat 318
call run.bat 330
call run.bat 334

Увы, это не работает так, как мне нужно.

А работает это так: программа начинает проверку с константы 258 и проверяет все константы с шагом 2 (до 838 включительно). Затем начинает проверку с константы 278 и... опять проверяет все константы с шагом 2 до 838 включительно.
И так далее.
Мне так не надо. Надо, чтобы проверялись только константы из списка:

258,278,300,302,310,318,330,334

 
 
 
 Re: Пакетный файл
Сообщение25.05.2013, 15:22 
Тогда попробуйте вместо Вашего run.bat вариант без внутреннего цикла:
Код:
@echo off
set konst=%1
echo %konst% > input.txt
cls
echo Џа®ўҐапҐвбп Є®­бв ­в бб®жЁ вЁў­®бвЁ K=%konst%
start.exe input.txt
primit6as2.exe output.txt
echo „«п ўл室 ­ ¦¬ЁвҐ «оЎго Є« ўЁиг . . .

 
 
 
 Re: Пакетный файл
Сообщение25.05.2013, 15:26 
Аватара пользователя
Хорошо, сейчас попробую.

Да, так работает правильно. Спасибо.

 
 
 
 Re: Пакетный файл
Сообщение26.05.2013, 07:03 
Аватара пользователя
Работаю на автомате :-)

Вспомогательный пакетный файл:

Код:
call run.bat 49526
call run.bat 49498
. . . . . . . .
call run.bat 49142

Сейчас порция констант - 15 штук. Всего надо проверить более 1000 констант.
Какую максимальную порцию потянет вспомогательный пакетный файл?

 
 
 
 Re: Пакетный файл
Сообщение26.05.2013, 08:20 
Аватара пользователя
Увеличила до 20 штук (20 строк в пакетном файле), работает :-)
50 строк можно сделать?

 
 
 
 Re: Пакетный файл
Сообщение26.05.2013, 13:53 
Nataly-Mak в сообщении #728459 писал(а):
50 строк можно сделать?
Можно. Размер батч-файла практически не ограничен и может измеряться мегабайтами.
Так что можно и 1000000 строк сделать.

 
 
 
 Re: Пакетный файл
Сообщение26.05.2013, 14:13 
Аватара пользователя
Спасибо.
Это очень хорошо.

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group