2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Пакетный файл
Сообщение24.05.2013, 11:53 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Вопрос маленький... подскажите, пожалуйста, если кто знает.

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

Код:
@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 
Заслуженный участник


15/05/05
3445
USA
Проще всего создать еще один batch-файл и вызывать из него основной.
Новый батч-файл может иметь, например, вид:
Код:
call run.bat 6718
call run.bat 11758
call run.bat 12178
call run.bat 14698

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

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


22/03/08

7154
Саратов
А основной файл тогда надо изменить?
Каким образом?

 Профиль  
                  
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:32 
Заслуженный участник


15/05/05
3445
USA
Nataly-Mak в сообщении #727815 писал(а):
А основной файл тогда надо изменить?
Нет, основной файл менять не надо.

 Профиль  
                  
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:38 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
То, что в основном файле записано для определения параметра konst, будет игнорироваться?

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

 Профиль  
                  
 
 Re: Пакетный файл
Сообщение24.05.2013, 17:59 
Заслуженный участник


15/05/05
3445
USA
Nataly-Mak в сообщении #727821 писал(а):
То, что в основном файле записано для определения параметра konst, будет игнорироваться?
Не игнорироваться, а переопределяться при каждом новом запуске.

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

 Профиль  
                  
 
 Re: Пакетный файл
Сообщение25.05.2013, 06:36 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
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 
Заслуженный участник


15/05/05
3445
USA
Тогда попробуйте вместо Вашего 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 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Хорошо, сейчас попробую.

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

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


22/03/08

7154
Саратов
Работаю на автомате :-)

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

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

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

 Профиль  
                  
 
 Re: Пакетный файл
Сообщение26.05.2013, 08:20 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Увеличила до 20 штук (20 строк в пакетном файле), работает :-)
50 строк можно сделать?

 Профиль  
                  
 
 Re: Пакетный файл
Сообщение26.05.2013, 13:53 
Заслуженный участник


15/05/05
3445
USA
Nataly-Mak в сообщении #728459 писал(а):
50 строк можно сделать?
Можно. Размер батч-файла практически не ограничен и может измеряться мегабайтами.
Так что можно и 1000000 строк сделать.

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


22/03/08

7154
Саратов
Спасибо.
Это очень хорошо.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group