启动命令非常方便,但我遇到了一个问题。
我在看一款老角色扮演游戏(Questron II)以及如何为它编写地图。它有一个名为start.exe的文件。我有一个实用程序,它调用来编辑自身,
start "" "C:\Program Files (x86)\Notepad++\notepad++.exe" x.pl
因此,在这个目录中,它会拉取“start.exe”而不是 Windows 启动。
跑步搜索一切没有找到开始。(扩展)。
现在,对于这个实例,有明显的解决方法,比如只需将我需要的地图文件拉到一个单独的目录中。
但我更关心如何找到 start.exe 或 start.bat 或它的扩展名,或者它是否因某种原因受到保护。
谢谢!
答案1
我如何找到 start.exe 或 start.bat?
Windowsstart
命令是内部命令(内置于cmd
shell 中):
内部命令
Windows CMD shell CMD.exe 包含许多“内部”命令,其他“外部”命令也作为单独的可执行文件提供。外部命令通常存储在 C:\WINDOWS\System32 文件夹中,该文件夹是系统 PATH 的一部分。
这种安排意味着无论当前目录是什么,内部和外部命令始终可用。
ASSOC、BREAK、CALL、CD/CHDIR、CLS、COLOR、COPY、DATE、DEL、DIR、DPATH、ECHO、ENDLOCAL、ERASE、EXIT、FOR、FTYPE、GOTO、IF、KEYS、MD/MKDIR、MKLINK(vista 及以上版本)、MOVE、PATH、PAUSE、POPD、PROMPT、PUSHD、REM、REN/RENAME、RD/RMDIR、SET、SETLOCAL、SHIFT、START、TIME、TITLE、TYPE、VER、VERIFY、VOL
答案2
鉴于这START
是来自的内部命令CMD.EXE
,您可以通过后者执行它。
通过阅读CMD.EXE的帮助,我们发现:
Starts a new instance of the Windows command interpreter
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
/C Carries out the command specified by string and then terminates
因此你可以使用以下命令执行你的程序:
CMD.EXE /C "START "" "C:\Program Files (x86)\Notepad++\notepad++.exe" x.pl"
这样,您可以确保执行的是 CMD.EXE,并且它会使用您希望的参数执行其 START 内部命令。