Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

Запуск внешнего приложения   Найти похожие ветки 

 
Alex_1qaz_2006   (2006-06-23 11:52) [0]

Здравствуйте мастера!
Есть проблемка. Необходимо запустить внешнюю программу с передачей параметров через командную строку и перенаправить вывод программы в файл.
Пробовал через WinExec. Запуск происходит с передачей параметров - все нормально. Но перенаправление вывода в файл не происходит.

Пожалуйста подскажите как это можно сделать.
Приблизительные строки кода:

Var
rc : integer;
begin
 rc:=WinExec("rar.exe a -r arcname d:\ >arcname.lst", ...);


 
Сергей М. ©   (2006-06-23 11:57) [1]


> перенаправление вывода в файл не происходит


Происходит.
Но скорей всего файл arcname.lst ты ищешь не там (не в той директории) где он реально создан при этом.


 
Alex_1qaz_2006   (2006-06-23 12:05) [2]

В строках кода однозначно задается путь и имя файла перенаправления.


 
Сергей М. ©   (2006-06-23 12:08) [3]

Хочешь сказать что после выполнения этой WinExec() сквозной поиск интересующего файла по всем томам не приводит к успеху ?


 
Alex_1qaz_2006   (2006-06-23 12:15) [4]

Да, именно так. Да сам поиск не нужен, так как указан точный путь и имя файла.
Но все равно на всякий случай поискал - нет.


 
Сергей М. ©   (2006-06-23 12:21) [5]


> поиск не нужен, так как указан точный путь и имя файла


Судя по "Приблизительные строки кода" точный путь как раз отсутствует.
Приведи реальную ком.строку...


 
Alex_1qaz_2006   (2006-06-23 12:41) [6]

Строка сложная и формируется программно. Весь код приводить это много.
В итоге получается строка такого вида:

Это непосредственно перед выполнением.

"c:\Program Files\WinRAR\rar.exe a -r -rr5p -idp -m0 e:\Dir1\File1 z:\ > e:\Dir1\File1.lst"

Правильность строки, путей имен файлов проверена. Эта строка в запуске из командной строки полностью отрабатывает с перенаправлением. А из WinExec нет.


 
Gero ©   (2006-06-23 12:44) [7]

> Правильность строки, путей имен файлов проверена.

Возможно, недостаточно проверена.


 
Сергей М. ©   (2006-06-23 12:46) [8]

пробуй ShellExecute() (вместо WinExec)


 
Alex_1qaz_2006   (2006-06-23 13:07) [9]

Проблема не в правильности передаваемых внешней программе параметров, а в перенаправлении вывода при запуске через WinExe !!!


 
Gero ©   (2006-06-23 13:16) [10]

> [9] Alex_1qaz_2006   (23.06.06 13:07)

Перенаправлением занимаешься ты или WinRar? Если второе, то проблема именно в передаче параметров.


 
Сергей М. ©   (2006-06-23 13:36) [11]


> Gero ©   (23.06.06 13:16) [10]
> Перенаправлением занимаешься ты или WinRar?


[Win]Rar не занимается перенаправлением.
">" - это "фича" процессора консольных команд.


 
Alex_1qaz_2006   (2006-06-23 13:50) [12]

Перенаправлением потока вывода занимяюсь я.
Стандартный метод перенаправления потока еще со времен DOS"а был таким
(командная строка)
>Программа.exe [список параметров] >  имя_файла_куда_перенаправить_вывод;

знак > и есть указание для перенаправления
Этот метод поддерживается всеми версиями DOS" а и Windows"а.

То есть, если у любой программы есть вывод на стандартный выходной поток, то его можно перенаправить.

В этой командной строке есть знак перенаправления вывода - ">".

c:\Program Files\WinRAR\rar.exe a -r -rr5p -idp -m0 e:\Dir1\File1 z:\ > e:\Dir1\File1.lst"

И именно это перенаправление не отрабатывает при выполнении командной строки через WinExec.


 
Leonid Troyanovsky ©   (2006-06-23 17:56) [13]


> Alex_1qaz_2006   (23.06.06 13:50) [12]

> Стандартный метод перенаправления потока еще со времен DOS"а
> был таким
> (командная строка)
> >Программа.exe [список параметров] >  имя_файла_куда_перенаправить_вывод;


Еще раз, медленно.
Со времен доса этим занимался интерпретатор комстроки,
например, command.com.

Т.е., пускать надо
cmd /c "Программа.exe" > "имя_файла_куда_перенаправить_вывод"

--
Regards, LVT.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
4-1143800767
Stanislav
2006-03-31 14:26
2006.07.09
Использование CreateThread


10-1121745962
just
2005-07-19 08:06
2006.07.09
twebbrowser, ihtmldocument, таблица большого размера


6-1140869620
Ландграф Павел
2006-02-25 15:13
2006.07.09
TRxMemoryData не понимает русские символы


15-1149276927
Tirael
2006-06-02 23:35
2006.07.09
Outpost Firewall - быть или не быть )


1-1148965617
tany
2006-05-30 09:06
2006.07.09
импорт данных из Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский