2

我想知道如何在 QBasic 中运行批处理文件。

当我的意思是在我的意思是不在新窗口中时。

你能帮我吗?

我正在制作一个假的DOS。

4

1 回答 1

2

我找不到在同一窗口中专门运行 dos 命令的方法。您可以做的是 SHELL _HIDE "[command] > outputfile.txt" 然后打开该文件并将每一行打印到您的 qb 应用程序。

示例并不完美,但可以用作开始的基础:

RunCommand "dir"
END

SUB RunCommand (enteredCommand$)
    IF LEN(enteredCommand$) = 0 THEN EXIT FUNCTION 'no entry
    IF LEN(ENVIRON$("OS")) THEN CMD$ = "CMD /C " ELSE CMD$ = "COMMAND /C "
    SHELL _HIDE CMD$ + enteredCommand$ + " > output"
    OPEN "output" FOR APPEND AS #1 'this may create the file
    L% = LOF(1) 'verify that file and data exist
    CLOSE #1

    IF L% THEN 'read file if it has data
        OPEN "output" FOR INPUT AS #1
        WHILE NOT EOF(1)
            LINE INPUT #1, line$ 'read only line in file
            PRINT line$
        WEND
        CLOSE #1
    ELSE
        PRINT "Command Not Found" 'returns zero length string if path not found
    END IF
    KILL "output" 'deleting the file is optional
END FUNCTION
于 2015-08-17T17:24:44.073 回答