Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Проблема с запуском внешнего .cmd файла
VideomonstrДата: Чт, 31 Марта 2011, 14:23 | Сообщение # 1
Новичок
Доброго времени суток.
Пытаюсь сделать удобную программу для прошивки модулей , так вот, версий прошивок много, расположение на диске очень разное, файлы для запуска прошивок используются *.cmd. Содержимое .cmd файлов: программа для прошивки, параметры, файл данных. Все файлы на которые ссылается .cmd расположены в той же папке где и сам .cmd файл. При запуске файла .cmd по кнопке с помощью RUN (где указан полный путь к файлу) в окне видно что путь к выполняемым файлам это путь к проекту NB. Другими словами операция не заканчивается успешно.
Вопрос - что я делаю не так?

вот пример кнопки:
Run "![Name_[nomerV]]" "" "RunOnce" "" ""

[Name_[nomerV]] - переменная содержит полный путь с именем файла


Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
СообщениеДоброго времени суток.
Пытаюсь сделать удобную программу для прошивки модулей , так вот, версий прошивок много, расположение на диске очень разное, файлы для запуска прошивок используются *.cmd. Содержимое .cmd файлов: программа для прошивки, параметры, файл данных. Все файлы на которые ссылается .cmd расположены в той же папке где и сам .cmd файл. При запуске файла .cmd по кнопке с помощью RUN (где указан полный путь к файлу) в окне видно что путь к выполняемым файлам это путь к проекту NB. Другими словами операция не заканчивается успешно.
Вопрос - что я делаю не так?

вот пример кнопки:
Run "![Name_[nomerV]]" "" "RunOnce" "" ""

[Name_[nomerV]] - переменная содержит полный путь с именем файла


Автор - Videomonstr
Дата добавления - 31 Марта 2011 в 14:23
DEMBELДата: Чт, 31 Марта 2011, 14:38 | Сообщение # 2
Наш дизайнер
без ! не пробовали?

setvar "[Name]" "c:\test.cmd"
Run "[Name]" "" "RunOnce" "" ""

работает же.

Добавлено (31 Март 2011, 14:38)
---------------------------------------------

Quote (Videomonstr)
Другими словами операция не заканчивается успешно.

что это значит?
а действия в cmd нельзя в проекте повторить, чтобы без лишнего барахла?


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениебез ! не пробовали?

setvar "[Name]" "c:\test.cmd"
Run "[Name]" "" "RunOnce" "" ""

работает же.

Добавлено (31 Март 2011, 14:38)
---------------------------------------------

Quote (Videomonstr)
Другими словами операция не заканчивается успешно.

что это значит?
а действия в cmd нельзя в проекте повторить, чтобы без лишнего барахла?

Автор - DEMBEL
Дата добавления - 31 Марта 2011 в 14:38
VideomonstrДата: Чт, 31 Марта 2011, 14:56 | Сообщение # 3
Новичок
Без ! делал, результат тот же
Quote (DEMBEL)
а действия в cmd нельзя в проекте повторить, чтобы без лишнего барахла?

дело в том что как самих модулей так и версий к ним очень мнооого, а так же не ко всем используют cmd, в некоторых сторонние программы, специализированные к определенным процессорам. Программе моей нужно самостоятельно указать файлы для прошивки каждого модуля и для каждой версии (прога не тока для меня пишется, а у всех на компах черт ногу сломит где что лежит, полный бардак %) ) И еще, папки с прошивками валяются прям на рабочем столе (кстати может в том тоже проблема?))


Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
СообщениеБез ! делал, результат тот же
Quote (DEMBEL)
а действия в cmd нельзя в проекте повторить, чтобы без лишнего барахла?

дело в том что как самих модулей так и версий к ним очень мнооого, а так же не ко всем используют cmd, в некоторых сторонние программы, специализированные к определенным процессорам. Программе моей нужно самостоятельно указать файлы для прошивки каждого модуля и для каждой версии (прога не тока для меня пишется, а у всех на компах черт ногу сломит где что лежит, полный бардак %) ) И еще, папки с прошивками валяются прям на рабочем столе (кстати может в том тоже проблема?))

Автор - Videomonstr
Дата добавления - 31 Марта 2011 в 14:56
DEMBELДата: Чт, 31 Марта 2011, 15:38 | Сообщение # 4
Наш дизайнер
ну а в чем ошибка то собственно? может cmd кривые. в нб Run работать должна нормально, да и ошибиться там трудно.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениену а в чем ошибка то собственно? может cmd кривые. в нб Run работать должна нормально, да и ошибиться там трудно.

Автор - DEMBEL
Дата добавления - 31 Марта 2011 в 15:38
VideomonstrДата: Чт, 31 Марта 2011, 15:40 | Сообщение # 5
Новичок
Разберусь - отпишусь, если не, тем более :)

Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
СообщениеРазберусь - отпишусь, если не, тем более :)

Автор - Videomonstr
Дата добавления - 31 Марта 2011 в 15:40
mishemДата: Чт, 31 Марта 2011, 19:21 | Сообщение # 6
Эксперт форума
Вполне возможно что ошибка сдесь [Name_[nomerV]]
Что такое [Name_] и что такое [nomerV]?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВполне возможно что ошибка сдесь [Name_[nomerV]]
Что такое [Name_] и что такое [nomerV]?

Автор - mishem
Дата добавления - 31 Марта 2011 в 19:21
VideomonstrДата: Чт, 31 Марта 2011, 19:53 | Сообщение # 7
Новичок
Quote (mishem)
Вполне возможно что ошибка сдесь [Name_[nomerV]] Что такое [Name_] и что такое [nomerV]?

[nomerV] это переменная которая содержит цифру от 1 до 10 , и определяет номер версии прошивки
в итоге переменные [Name_1], [Name_2], ...[Name_10] содержат в себе путь к файлу для прошивки, например
C:\Documents and Settings\user\Рабочий стол\папка с прошивками\папка модуля\файл.cmd


Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
Сообщение
Quote (mishem)
Вполне возможно что ошибка сдесь [Name_[nomerV]] Что такое [Name_] и что такое [nomerV]?

[nomerV] это переменная которая содержит цифру от 1 до 10 , и определяет номер версии прошивки
в итоге переменные [Name_1], [Name_2], ...[Name_10] содержат в себе путь к файлу для прошивки, например
C:\Documents and Settings\user\Рабочий стол\папка с прошивками\папка модуля\файл.cmd

Автор - Videomonstr
Дата добавления - 31 Марта 2011 в 19:53
NegiboДата: Чт, 31 Марта 2011, 19:59 | Сообщение # 8
Новичок
Quote (Videomonstr)
C:\Documents and Settings\user\Рабочий стол\папка с прошивками\папка модуля\файл.cmd

нужно тогда прописать в .cmd
Code
cd C:\Documents and Settings\user\Рабочий стол\папка с прошивками\папка модуля\файл.cmd

чтоб батник работал с этой директорией или закинь программу в эту директорию где эти батники


Сообщение отредактировано
Negibo - Чт, 31 Марта 2011, 20:01
 
Сообщение
Quote (Videomonstr)
C:\Documents and Settings\user\Рабочий стол\папка с прошивками\папка модуля\файл.cmd

нужно тогда прописать в .cmd
Code
cd C:\Documents and Settings\user\Рабочий стол\папка с прошивками\папка модуля\файл.cmd

чтоб батник работал с этой директорией или закинь программу в эту директорию где эти батники

Автор - Negibo
Дата добавления - 31 Марта 2011 в 19:59
VideomonstrДата: Чт, 31 Марта 2011, 20:27 | Сообщение # 9
Новичок
изменять сам cmd нет возможности, их много, и прога под разных людей делается, нужно как то прописать рабочий путь cmd при запуске, чтоб эта прошивка понимала, будто она через открытый проводник со своей директории стартует

Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
Сообщениеизменять сам cmd нет возможности, их много, и прога под разных людей делается, нужно как то прописать рабочий путь cmd при запуске, чтоб эта прошивка понимала, будто она через открытый проводник со своей директории стартует

Автор - Videomonstr
Дата добавления - 31 Марта 2011 в 20:27
СергейДата: Чт, 31 Марта 2011, 22:03 | Сообщение # 10
Необукер
Videomonstr, смд с параметрами стартует? я это к тому, что у меня тоже был аналогичный сабж. Причина оказалось в параметрах, вернее в тех, где использовались пути. Когда я пути взял в кавычки, то проблема исчезла.

Добавлено (31 Март 2011, 22:03)
---------------------------------------------
На крайни случай сделай тестовую версию цмд. Например запуск калькулятора и саму цмд поставь на паузу(!), если вдруг ошибка, то хоть успеть прочитать :)

Сообщение отредактировано
Сергей - Чт, 31 Марта 2011, 22:01
 
СообщениеVideomonstr, смд с параметрами стартует? я это к тому, что у меня тоже был аналогичный сабж. Причина оказалось в параметрах, вернее в тех, где использовались пути. Когда я пути взял в кавычки, то проблема исчезла.

Добавлено (31 Март 2011, 22:03)
---------------------------------------------
На крайни случай сделай тестовую версию цмд. Например запуск калькулятора и саму цмд поставь на паузу(!), если вдруг ошибка, то хоть успеть прочитать :)


Автор - Сергей
Дата добавления - 31 Марта 2011 в 22:03
VideomonstrДата: Пт, 01 Апреля 2011, 14:12 | Сообщение # 11
Новичок
ок, попробую

Добавлено (01 Апрель 2011, 14:12)
---------------------------------------------
Проблема осталась, вот cmd приблизительно:
avreal32.exe +тут чегото -и тут -и тут -тут _low=EF,_high=CF
if errorlevel 1 goto :stop
avreal32.exe +тут чегото -и тут -тут тоже имя файла с данными.расширение -еще чегото
if not errorlevel 1 goto :beep
:stop
pause
:beep
exit

Так вот путь к имени файла с данными тут отсутствует, поскольку все эти файлы- avreal32.exe , CMD, и пр. находятся в каждой папке с прошивками.
В итоге avreal32.exe запускается с указанием пути места нахождения проекта NB, и найти файл с данными по этому пути программа конечно не может. Т.о. прошивка модуля не происходит.
Вопрос такой, раз не получается в команде RUN указать рабочую папку для запускаемого приложения, остается только одно, поскольку на рабочих машинах стоит XP, использовать для запуска приложений встроенное в XP приложение "Выполнить". Я проверил, при запуске оттуда файла CMD (полный путь с именем файла) рабочей папкой назначается указанный путь, в результате прошивка проходит успешно!
Остается простой вопрос - как называется запускаемый приложение "Выполнить" файл в ВинXP, кто знает, подскажите!


Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
Сообщениеок, попробую

Добавлено (01 Апрель 2011, 14:12)
---------------------------------------------
Проблема осталась, вот cmd приблизительно:
avreal32.exe +тут чегото -и тут -и тут -тут _low=EF,_high=CF
if errorlevel 1 goto :stop
avreal32.exe +тут чегото -и тут -тут тоже имя файла с данными.расширение -еще чегото
if not errorlevel 1 goto :beep
:stop
pause
:beep
exit

Так вот путь к имени файла с данными тут отсутствует, поскольку все эти файлы- avreal32.exe , CMD, и пр. находятся в каждой папке с прошивками.
В итоге avreal32.exe запускается с указанием пути места нахождения проекта NB, и найти файл с данными по этому пути программа конечно не может. Т.о. прошивка модуля не происходит.
Вопрос такой, раз не получается в команде RUN указать рабочую папку для запускаемого приложения, остается только одно, поскольку на рабочих машинах стоит XP, использовать для запуска приложений встроенное в XP приложение "Выполнить". Я проверил, при запуске оттуда файла CMD (полный путь с именем файла) рабочей папкой назначается указанный путь, в результате прошивка проходит успешно!
Остается простой вопрос - как называется запускаемый приложение "Выполнить" файл в ВинXP, кто знает, подскажите!


Автор - Videomonstr
Дата добавления - 01 Апреля 2011 в 14:12
DEMBELДата: Пт, 01 Апреля 2011, 14:54 | Сообщение # 12
Наш дизайнер
теперь проблема понятна. действительно, если в cmd запускается прога без указания полного пути к ней, полагая что она в одной папке с cmd, то при запуске run "test.cmd" команда не находит файл программы. Решение: нужно после открытия консоли выполнить команду cd до папки расположения cmd, прописав ее в первой строчке файла. Но это мало осуществимо, т.к. пути на разных системах могут быть неизвестны.

Вот вам функция аналог Run, но с возможностью установки рабочей папки и статуса окна приложения.

Call "Run" "[App]" "[Dir]" "[Status]"

[App] - полный путь к приложению
[Dir] - рабочая папка
[Status] - вид окна приложения (0-скрытое, 1-видимое, 2-свернутое, 3-развернутое и пр...)

Пример: Call "Run" "c:\folder\test.cmd" "c:\folder" "1"
Обработки ошибок нет, так что позаботьтесь чтобы все пути существовали на любых системах.

Прикрепления: Run.zip (0.3 Kb)


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениетеперь проблема понятна. действительно, если в cmd запускается прога без указания полного пути к ней, полагая что она в одной папке с cmd, то при запуске run "test.cmd" команда не находит файл программы. Решение: нужно после открытия консоли выполнить команду cd до папки расположения cmd, прописав ее в первой строчке файла. Но это мало осуществимо, т.к. пути на разных системах могут быть неизвестны.

Вот вам функция аналог Run, но с возможностью установки рабочей папки и статуса окна приложения.

Call "Run" "[App]" "[Dir]" "[Status]"

[App] - полный путь к приложению
[Dir] - рабочая папка
[Status] - вид окна приложения (0-скрытое, 1-видимое, 2-свернутое, 3-развернутое и пр...)

Пример: Call "Run" "c:\folder\test.cmd" "c:\folder" "1"
Обработки ошибок нет, так что позаботьтесь чтобы все пути существовали на любых системах.


Автор - DEMBEL
Дата добавления - 01 Апреля 2011 в 14:54
VideomonstrДата: Пт, 01 Апреля 2011, 16:24 | Сообщение # 13
Новичок
Супер! Спасибо! я бы до такой функции точно б не догадался!

Иногда устаешь от людей, да так, что хочется взять пулемет, и... но тут же понимаешь, что патронов то на всех не хватит...
 
СообщениеСупер! Спасибо! я бы до такой функции точно б не догадался!

Автор - Videomonstr
Дата добавления - 01 Апреля 2011 в 16:24
  • Страница 1 из 1
  • 1
Поиск: