2016-12-23 41 views
1

我想知道如何正確管道STDOUT和STDIN到在DOS 6.22上運行的qbasic程序。我希望我的qbasic程序能夠通過以下行「EEUPDATEW.exe/NIC = */FILE=I211.txt/MAC = */INVMUPDATE」運行EEUPDATE.exe,然後讀入EEUPDATE.exe發佈的STDOUT進一步處理。我會如何去做這件事?我一整天都在ra my我的大腦,而且似乎無法讓它工作。如何管道STDOUT和STDIN到qbasic程序

下面是我的簡單程序。現在它可以只抓取MAC地址,稍後我將根據從STDOUT接收到的數據增加MAC地址。

enter image description here

+0

MS-DOS不支持多任務處理,並在同一時間不能在運行兩個程序所以你」重新要求是不可能的。您可以將EEUPDATEW的輸出重定向到一個文件,然後讀取該文件。但是我不知道你如何在QBasic上做到這一點。 –

+1

您可以使用SHELL將輸出重定向到一個文件,然後打開它進行輸入。 – eoredson

回答

2

下面是如何在QBasic中使用SHELL樣本:

DECLARE SUB GetFiles (Var$) 
REM list files in current directory 
C$ = "C:*.*" 
CALL GetFiles(C$) 
END 

SUB GetFiles (Var$) 
Var2$ = "dir " + Var$ + " > tempfile.dir" 
SHELL Var2$ 
OPEN "tempfile.dir" FOR INPUT SHARED AS #1 
DO UNTIL EOF(1) 
    LINE INPUT #1, X$ 
    PRINT X$ 
LOOP 
END SUB 
相關問題