Scheme 游戏方案:gsi和gsc窗口在结束后关闭!

Scheme 游戏方案:gsi和gsc窗口在结束后关闭!,scheme,Scheme,我正在试验Gambit方案,但我遇到了问题!我的操作系统是Windows7。 当我试图解释脚本时,我会: gsi.exe myscript.scm 这是可行的,但GSI的控制台窗口会在脚本完成后显示并关闭。我看不到我的程序打印的结果!我可能会在最后读一行,但是。。。当我尝试使用GSC.exe进行编译时,行为是相同的:它打开控制台窗口,执行某些操作,打印错误信息,然后立即关闭它-我无法读取某些内容!在这种情况下,我甚至不能做(读线)黑客,你看。我怎样才能看到游戏写的内容 但这不起作用: gsc.e

我正在试验Gambit方案,但我遇到了问题!我的操作系统是Windows7。 当我试图解释脚本时,我会: gsi.exe myscript.scm

这是可行的,但GSI的控制台窗口会在脚本完成后显示并关闭。我看不到我的程序打印的结果!我可能会在最后读一行,但是。。。当我尝试使用GSC.exe进行编译时,行为是相同的:它打开控制台窗口,执行某些操作,打印错误信息,然后立即关闭它-我无法读取某些内容!在这种情况下,我甚至不能做(读线)黑客,你看。我怎样才能看到游戏写的内容

但这不起作用:
gsc.exe 1.scm>1.txt

使用命令创建批处理文件。设置批处理文件的属性,使窗口在执行后不会关闭(右键单击批处理文件图标上的属性)。 您可以始终在bath文件的末尾添加“pause”,以保持窗口打开

或者,只需打开一个DOSBOX,然后从那里运行脚本。当纸条完成时,盒子将保持打开状态

更新 终端

要打开终端(命令提示符、DOS框等),请使用[开始]按钮。在“运行”字段中输入
cmd
。 这将打开带有命令行解释器的终端。您可以从那里运行gsc或gsi

批处理文件

以下是示例程序hello.scm:

(display "HELLO WORLD")
(newline)
方法1——使用暂停。此示例仅用于调用二进制可执行(.EXE)文件,如gsc或gsi.EXE:

@echo off
gsi hello.scm
pause
方法2——使用
cmd/k
。首选暂停方法(如上),因为这会启动另一个cmd shell:

@echo off
cmd /k gsi hello.scm
属性

很抱歉,设置命令的“退出时关闭”属性显然仅适用于通过.pif文件执行的真正DOS命令

在同一端,右键单击hello.scm,然后将其与
cmd/k gsi hello.scm
关联

可以修改上述任何批处理文件,以采用文件名参数(对于所有参数为%1或%*),并运行
gsc%1
,而不是gsc hello.scm。以这种方式使批处理文件成为通用文件后,将.SCM扩展名与其关联

将.SCM与run-gsi.bat关联:

@echo off
gsi %*
pause

您应该在现有的终端窗口中运行Gambit。首先打开终端,然后开始游戏。当Gambit终止时,您的终端仍将运行。

cmd.exe不是终端窗口,bat中的“暂停”不起作用。找不到任何与控制台窗口关闭相关的属性。抱歉,没有注意到您有新的评论。请参阅我的最新答案。