最近我一直在摆弄 DOSbox,其中一项特别的任务就是设置一系列用于调用的批处理文件,以便节省一些cd
时间。典型的 .bat 文件可能如下所示:
cd wolf3d
wolf3d -goobers
cd ..
有一件事有点烦人,那就是没有内置的文本编辑器,比如 pico/nano。话虽如此,我做已经安装了 QBASIC,因此我正在考虑的一个选项是进行设置,以便我可以进行如下调用:
nano filename.bat
它将在 QBASIC 中打开该文件。
我阅读了一些关于批处理脚本如何工作的内容,看来只需%1
在脚本中添加一个就足够了,例如:
cd qbasic
qbasic %1
cd ..
然而,最终发生的情况是,如果我输入,比如说nano nano.bat
我可以编辑批处理文件,它最终会打开一个新的空白nano.bat
文件。
我尝试查找这里遗漏的内容,但这似乎有点太晦涩难懂,很难找到。有人能指出这里遗漏了什么吗?
谢谢!
答案1
在我的评论中进一步详细说明:
- 如果将相对路径作为参数传递给批处理,而该批处理本身会更改当前文件夹,但传递与新文件夹无关,则传递将会失败。
- 或者通过绝对通行证
- 或者,如果不是绝对必要,则不要更改当前文件夹。Qbasic 是一个独立
.exe
文件,可以通过路径访问。要将其用作编辑器,有一个/Editor
选项(只需在 VDOS Plus(DosBOX 衍生产品)中检查它)
因此将你的 nano.bat 更改为
@Qbasic.exe /Editor %1
只要 Qbasic.exe 可以通过路径中的文件夹访问即可。
答案2
尝试双百分号,即 %%1。DOS 中的批处理文件并不完全遵循与其 DOS shell 等效项相同的参数规则。