線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1247
推到 Plurk!
推到 Facebook!

用WinExec 出現的DOS 視窗內容文字無法轉成文字檔

尚未結案
wearefamily
一般會員


發表:12
回覆:16
積分:5
註冊:2004-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-06 15:43:47 IP:140.116.xxx.xxx 未訂閱
我下這樣的指令, WinExec('test.exe ro4.dat > wx.txt',sw_show); test.exe 在一般dos視窗下 test.exe ro4.dat > wx.txt ,會show出文字, 經過轉向,可以轉成文字檔, 可是用WinExec 跳出的dos視窗卻沒有辦法轉成文字檔, 有方法可以解決嗎?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-14 08:42:31 IP:202.39.xxx.xxx 未訂閱
用以下方式檢查看看是什麼錯誤:
procedure TForm1.Button1Click(Sender: TObject);
VAR
  i: integer;
begin
  i := WinExec('test.exe ro4.dat > wx.txt', SW_SHOW);
  if i < 32 then
    ShowMessage(SysErrorMessage(GetLastError));
end;
-- 向 KTop 的弟兄們致敬!
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-14 11:52:22 IP:218.170.xxx.xxx 未訂閱
引言: 我下這樣的指令, WinExec('test.exe ro4.dat > wx.txt',sw_show); test.exe 在一般dos視窗下 test.exe ro4.dat > wx.txt ,會show出文字, 經過轉向,可以轉成文字檔, 可是用WinExec 跳出的dos視窗卻沒有辦法轉成文字檔, 有方法可以解決嗎?
寫一個trtext.bat 內容為 test.exe ro4.dat > wx.txt 執行 WinExec('trtext.bat',sw_show);
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-15 11:52:25 IP:61.221.xxx.xxx 未訂閱
wearefamily 你好: 可否告知 執行後產生的 wx.txt 內容是空的 或是根本沒有產生 wx.txt 若是根本沒有產生 wx.txt 那加個路徑看看
------
======================
昏睡~
不昏睡~
不由昏睡~
jumo
一般會員


發表:33
回覆:65
積分:24
註冊:2002-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-15 20:25:50 IP:211.20.xxx.xxx 未訂閱
請參考以下文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19897
wearefamily
一般會員


發表:12
回覆:16
積分:5
註冊:2004-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-17 11:55:11 IP:210.64.xxx.xxx 未訂閱
shinhrn,KO兄所提 試了,但是仍舊沒有轉出txt檔! jumo 兄所提,還在嘗試中!
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-19 08:49:01 IP:218.170.xxx.xxx 未訂閱
引言: shinhrn,KO兄所提 試了,但是仍舊沒有轉出txt檔! jumo 兄所提,還在嘗試中!
那會不會 test.exe ro4.dat > wx.txt 根本就無輸出吧!!!! 因為由 bat執行就跟自行輸入時一樣才對阿??? 要不穰就是沒執行到請加上路徑 寫一個c:\test\trtext.bat 內容為 c:\test\test.exe c:\test\ro4.dat > c:\test\wx.txt 執行 WinExec('c:\test\trtext.bat',sw_show); 發表人 - shinhrn 於 2004/07/19 08:50:51 發表人 - shinhrn 於 2004/07/19 09:00:14
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-07-19 11:36:53 IP:211.76.xxx.xxx 未訂閱
wearefamily你好: pipe的動作是由shell完成的,而WinExec只能執行程式而已。如果要作輸出的pipe,要經由cmd。 試試執行改成'cmd /C "program.exe > c:\a.txt"'
wearefamily
一般會員


發表:12
回覆:16
積分:5
註冊:2004-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-07-20 14:03:57 IP:140.116.xxx.xxx 未訂閱
pwipwi的答案最OK, 感謝您 
aAlan
一般會員


發表:38
回覆:24
積分:12
註冊:2004-07-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-07-23 19:57:53 IP:140.113.xxx.xxx 未訂閱
如果用cmd /c就只能在受限在winNT,2000,XP等作業系統上執行, win98,ME,就無法執行,因為這些系統適用command.com而非cmd.exe 請問,如何偵測環境變數知道是用哪一作業系統呢?    
引言: wearefamily你好: pipe的動作是由shell完成的,而WinExec只能執行程式而已。如果要作輸出的pipe,要經由cmd。 試試執行改成'cmd /C "program.exe > c:\a.txt"'
系統時間:2024-05-20 1:39:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!