运行 通过带参数的程序文件

Running file through a program with arguments

我的问题是我似乎无法通过我的程序传递参数。我不确定如何解释清楚,但在这里:

我希望能够通过带参数的自定义解释器运行 脚本文件。

例如:

AtomScript.exe main.atom -> Program runs

当我想通过批处理文件运行它时:

main.atom -> Program runs

现在,当我想在批处理文件中使用 AtomScript 命令通过程序传递参数时:

AtomScript.exe main.atom arg1 arg2 -> Program runs with arguments

参数已通过。但是当我想使用简单的 main.atom 命令来 运行 它带有参数时它不起作用:

main.atom arg1 arg2 -> Program runs without arguments

我现在不确定该怎么做。有什么建议吗?

main.atom 不是可执行文件,因此不能带任何参数

Windows 知道必须启动哪个程序(忽略任何参数)

只有直接启动可执行文件,才能定义参数(第一个是main.atom

例如:

C:\>assoc .txt
.txt=txtfile

C:\>ftype txtfile
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1

assoc 定义扩展名的文件类型 ("txtfile")

ftype 定义,必须为此文件类型做什么(启动记事本)

可以看到,只有一个参数%1(文件名(main.atom))。 当然你可以用更多参数扩展它(需要 运行 作为管理员):

ftype txtfile=%SystemRoot%\system32\NOTEPAD.EXE %*

(这个例子没有多大意义),但我不推荐它(它只是在你的电脑上完成的)。最好使用 "official way":在批处理文件中执行与在命令行中完全相同的操作:使用所需参数启动可执行文件:

AtomScript.exe main.atom arg1 arg2