Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell能否知道“开始”菜单中的所有应用程序?_Powershell_Powershell 3.0 - Fatal编程技术网

PowerShell能否知道“开始”菜单中的所有应用程序?

PowerShell能否知道“开始”菜单中的所有应用程序?,powershell,powershell-3.0,Powershell,Powershell 3.0,当我单击Windows按钮时,我可以键入应用程序的名称并在菜单中获取完整信息,以快速找到应用程序并运行它 但使用PowerShell时,我必须将应用程序的路径添加到$ENV:path,这对于每个应用程序来说非常麻烦。有更好的办法吗 有点,但不是真的。PowerShell的tab completion函数搜索当前文件夹、已知cmdlet名称以及用户和系统路径中的文件夹。除非您想自己重写tab completion函数(这是可能的,请参阅),否则您将无法使用该功能 您应该能够使用Start Proc

当我单击Windows按钮时,我可以键入应用程序的名称并在菜单中获取完整信息,以快速找到应用程序并运行它


但使用PowerShell时,我必须将应用程序的路径添加到$ENV:path,这对于每个应用程序来说非常麻烦。有更好的办法吗

有点,但不是真的。PowerShell的tab completion函数搜索当前文件夹、已知cmdlet名称以及用户和系统路径中的文件夹。除非您想自己重写tab completion函数(这是可能的,请参阅),否则您将无法使用该功能

您应该能够使用
Start Process
(别名
Start
saps
),它确实使用了一些类似于“开始”菜单的文件关联信息。但是,您需要知道应用程序可执行文件的名称,而不是在“开始”菜单上看到的友好名称。您不能键入
启动进程word
。您必须说
Start Process winword
,因为可执行文件是
winword.exe

PowerShell是一个现代的命令行,但它仍然是一个命令行。它不像Windows搜索那样帮助用户,因为它没有做出相同的假设。PowerShell假设您主要希望使用cmdlet,而这正是大多数人使用它的方式,IMX。除非您正在管理服务器,否则它并不意味着要取代GUI


您可以将tab completion与文件夹名称和呼叫操作员一起使用,这样您就可以键入
C:\Pro
并点击tab,它将扩展到(例如)
&C:\Program Files\
。请注意,这里自动为您提供了调用操作符(
&
),因为文件系统的提供程序假定您需要它。

我使用的一个技巧是从命令行为我经常使用的东西创建一个批处理文件,并将其放在我的系统路径中的c:\tools文件夹中。
这样,您就不必将每个可执行文件都添加到路径中,这样它就可以通过autocomplete找到它。

您想做什么?你只需要你电脑上安装的每个程序的列表吗?什么是星型菜单?@FoxDeploy:不完全是。我希望能够像在我的道路上一样调用它们