假设已安装 Microsoft Office。考虑以下批处理文件:
REM the following line successfully launches Microsoft Word
start winword
REM none of the following commands work to launch Microsoft Word
winword
winword.exe
winword.com
winword.bat
winword.cmd
winword.vbs
winword.vbe
winword.js
winword.jse
winword.wsf
winword.wsh
winword.msc
“start”指令中有什么内容允许使用名称“winword”启动 Microsoft Word?
我的好奇心源于我对“start”动词机制的兴趣——我不需要有关启动 Microsoft Office 的其他方法的建议。请不要建议我将 Microsoft Office 目录添加到我的 PATH 环境变量中——我知道那会有什么作用。
如果无法直接找到start
“winword”,该如何查找呢?cmd
答案1
这应用程序路径密钥评估之后小路如果我没错的话:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe]
@="C:\\PROGRA~2\\MICROS~1\\Office14\\WINWORD.EXE"
"Path"="C:\\Program Files (x86)\\Microsoft Office\\Office14\\"
"useURL"="1"
"SaveURL"="1"
这就是开始命令和跑步对话框将 Winword.exe 识别为有效别名。有关详细信息,请阅读尽管写字板不在 PATH 中,怎样才能仅通过键入其名称来运行它?作者:Raymond Chen。
答案2
这不仅仅是开始,还有“运行对话框”。秘密是什么?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App 路径
运行对话框并在此启动检查。命令行则不会。
答案3
因此,Start
cmd 中的方法使用户能够启动分离从 Windows 命令行打开 Windows 中的窗口。如果没有 ` 方法,cmd 会尝试启动/启动定义的资源,但如果没有扩展名,他会将其作为目录获取,因此没有效果...
invoked
可以通过file association
仅输入文件名作为命令来访问不可执行文件。
(例如,WORD.DOC 将启动与 .DOC 文件扩展名关联的应用程序)。
请参阅ASSOC
和FTYPE
命令以了解如何在命令脚本中创建这些关联。`