![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
создание переменных в cmd [D7, 2000, XP]
antonn © (2008-12-27 13:30:00)Сформулировать не могу, задача такая: вызывается 1.bat, в нем запускается мое консольное приложение, после его отработки в "переменых" 1.bat должны появиться переменные созданые моей консолькой.
Т.е. в батнике переменная создается так:
SET TEMP_VAR=123456
echo %TEMP_VAR%
моя консоль отрабатывая в контексте этого батника сама инициализоровать эти переменные (либо если они уже есть - переделать), т.е. теперь батник будет выглядеть так:
mycmd.exe
echo %TEMP_VAR%
Как вот это действие называется, что искать? Пересмотрел кучу примеров и статей, везде консолька раскрашивается и ставятся обработчики всякие (искал по "вывод из консоли").
Ляпа (2008-12-28 08:02:00) [21]
> желательно постандартней без всяких InjectMemory
Сомневаюсь, что можно стандартными способами менять переменные окружения родительского процесса.
> на дельфи
Портируй. В чём проблемы?
antonn (2008-12-27 19:45:00) [22]
> Ляпа (27.12.08 19:10) [9]
[2]
Ляпа (2008-12-27 19:10:00) [23]ShellExecute(0,nil, Pchar('SETENV.exe'), Pchar('TEMP_VAR=TEST_SETENV /PARENTS 2 /IM cmd.exe'), nil, 0);
antonn (2008-12-27 18:54:00) [24]
> Ляпа (27.12.08 18:39) [7]
да, вот что то этого мне и нужно, на дельфи, желательно постандартней без всяких InjectMemory (в идеале конечно хотелось бы отдать кусок текста на выполнение).
Ляпа (2008-12-27 18:39:00) [25]http://forum.farmanager.com/viewtopic.php?t=260
?
antonn (2008-12-27 15:56:00) [26]
> sniknik © (27.12.08 15:40) [4]
считаем, что доступа на запись нет.
Меня лишь интересует, можно ли вернуть текст который будет "выполнен" той копии cmd, что запустила моя программа.
> Anatoly Podgoretsky © (27.12.08 15:41) [5]
неправильно, я задал другой вопрос.
Anatoly Podgoretsky (2008-12-27 15:41:00) [27]> antonn (27.12.2008 14:47:02) [2]
свести три батника к одному.
sniknik (2008-12-27 15:40:00) [28]> проще говоря кусок текста формируемый моей консольной программой выполнить в самом cmd после возврата управления ему
ну так... батник это же текстовый файл, исправь его, и по идее что дописано должно выполнится.
antonn (2008-12-27 14:47:00) [29]
> Был вариант сохранять в файл и уже в самом батнике считывать
> его (пример на rsdn есть), но очень вероятно, что доступа
> на запись не будет :)
да и на костыль сильно смахивает :)
antonn (2008-12-27 14:47:00) [30]нет, их много (ну штук 40-50), они специфические (батник для упрощения некоторых операций (и быстрой правки их очередности и добавления), а вот переменные (от путей до файлов до флагов) формируются моей программкой). Да и дело в том, что вызвав такую программу во втором/третьем батнике в каждом я быстро и удобно получаю свои "переменные окружения". Был вариант сохранять в файл и уже в самом батнике считывать его (пример на rsdn есть), но очень вероятно, что доступа на запись не будет :)
вообще, можно ли как то в контексте cmd, запустившего мою программу, выполнить код (проще говоря кусок текста формируемый моей консольной программой выполнить в самом cmd после возврата управления ему)?
sniknik (2008-12-27 14:37:00) [31]если дело только в одной переменной то проще использовать код возврата программы... его в батнике можно "видеть" без дополнительных ухищрений.