我无法从 cmd 或 PowerShell 运行 wmplayer。我的操作系统是 Windows 7 64 位。我可以使用
start wmplayer
但我无法使用参数。请帮我处理一下。
答案1
如果当前路径不包含wmplayer
,并且PATH
环境变量不包含的路径wmplayer
,则必须在命令中提供它的路径start
,如下所示(如您在http://www.computerhope.com/starthlp.htm):
start /d "path_to_wmplayer" wmplayer
一般来说,path_to_wmplayer
是c:\Program Files\Windows Media Player\
,所以这种情况的解是:
start /d "c:\Program Files\Windows Media Player\" wmplayer
注意:"
当路径和所调用的程序/命令的名称上有空格时,请使用引号。
这样,您每次启动时都必须输入路径。
另一种方法,当你经常需要调用时wmplayer
,更好的方法是将其路径添加到PATH
环境变量(系统或用户变量)。如果你不知道怎么做 - 请查看此处http://www.nextofwindows.com/how-to-addedit-environment-variables-in-windows-7/
答案2
这与 CLI 如何解析命令有关。当未指定绝对路径或相对路径时,Windows 会使用其PATH
变量PATHEXT
来查找和执行程序。听起来很复杂,但其实并不复杂。因此,当您输入命令时
Notepad
Windows 首先使用路径变量查看路径列表,以查看其中是否有“记事本”对象。假设您的路径变量(您可以通过SET
在命令提示符中输入并查看以 开头的行来查看PATH=
)中有C:\
和C:\Windows\
,当您输入 notepad 时,Windows 首先查找
记事本不,不存在
然后它尝试
目录:\Windows\记事本嘿!这里有东西!
现在回答您的问题,当您单独输入 wmplayer 时,Windows 会查看C:\
和C:\Windows
(路径变量中的值)以查找匹配项,但由于 wmplayer 位于 Program Files 中,因此它不会找到它。现在当您使用时start wmplayer
,Windows 会使用一组完全不同的变量来查看已安装程序的列表,以查找名为 wmplayer 的程序。
至于无法传递参数,使用 start 你可以在程序名称后放置任何你喜欢的开关,例如
启动记事本/a“C:\某个文件“
将会开放某个文件在记事本中。如果您想在不使用开始的情况下执行此操作,最好的方法是输入文件的完整路径,然后输入参数
C:\Program Files (x86)\Windows Media Player\wmplayer.exe一些参数