如何在 QBasic 中运行批处理文件?

Posted

技术标签:

【中文标题】如何在 QBasic 中运行批处理文件?【英文标题】:How do you run a batch file within QBasic? 【发布时间】:2015-10-27 01:56:03 【问题描述】:

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

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

你能帮帮我吗?

我正在制作一个假的 DOS。

【问题讨论】:

据我所知,QBasic 中应该有一个SHELL 命令... 【参考方案1】:

我找不到在同一窗口中专门运行 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

【讨论】:

如果您可以决定是否需要双引号 - 或者解释何时需要双引号,您的回答会更有帮助。

以上是关于如何在 QBasic 中运行批处理文件?的主要内容,如果未能解决你的问题,请参考以下文章

批处理文件*.BAT如何实现延时运行?

如何制作批处理文件来运行java程序

如何把批处理运行后的结果,即在批处理窗口显示又能输出到指定文件中?

运行批处理文件后如何关闭命令行窗口?

如何使批处理BAT文件在后台运行而不显示DOS窗口

如何在并行运行多个文件时在后台运行批处理文件