Powershell 像程序一样执行快捷方式
示例:您在当前目录中有一个指向Powershell 像程序一样执行快捷方式,powershell,Powershell,示例:您在当前目录中有一个指向SomeProgram的快捷方式s 在cmd.exe中,您可以键入s,它将启动程序 在PowerShell中,键入s可提供: 术语“s”不能识别为cmdlet、函数、可操作程序或脚本文件。请验证术语并重试。 如果键入s.lnk或SomeProgram,程序运行正常 如何将PowerShell配置为像程序一样执行快捷方式?我不相信您可以。最好在从概要文件脚本调用的脚本中使用常用命令的别名 范例- 设置别名np c:\windows\notepad.exe 然后,您可以
SomeProgram
的快捷方式s
在cmd.exe
中,您可以键入s
,它将启动程序
在PowerShell中,键入s
可提供:
术语“s”不能识别为cmdlet、函数、可操作程序或脚本文件。请验证术语并重试。
如果键入s.lnk
或SomeProgram
,程序运行正常
如何将PowerShell配置为像程序一样执行快捷方式?我不相信您可以。最好在从概要文件脚本调用的脚本中使用常用命令的别名 范例- 设置别名np c:\windows\notepad.exe
然后,您可以从命令行获得简短、易于键入的名称。您可以始终使用tab completion来键入“s[tab]”,然后按ENTER键,这样就可以执行它。在我的Vista系统上,键入s不会启动lnk文件,除非我将环境变量PATHEXT设置为列表中的.lnk。当我这样做的时候。S将在cmd.exe中工作,我必须在powershell中执行。\S。首先,快捷方式不是“S”,而是“S.lnk”。例如,当名称为“t.txt”时,您无法通过键入“t”来打开文本文件(例如使用记事本): PATHEXT环境变量 定义文件扩展名列表 搜索时由Windows NT检查 对于可执行文件。PATHEXT的默认值为.COM;。EXE;。蝙蝠;。指令 您可以按照其他人在这里描述的方式点源代码,也可以使用调用字符“&”。这意味着PS将字符串视为要执行的内容,而不仅仅是文本。不过,这在脚本中可能更为重要 我想补充一点,您应该传递引号之外的任何参数(这是我之前的一位),注意“-r”不在引号中,只有exe
& "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe" -r | out-null
在添加
;之后;。LNK
到我的PATHEXT
环境变量的末尾,我现在可以执行快捷方式,即使没有前面的/
符号。(谢谢bruceatk!)
史蒂文建议创建一个小脚本,自动为我的路径
中的所有快捷方式添加别名,这也启发了我(尽管我计划坚持使用更简单的解决方案;)
还可以使用“invoke item”cmdlet调用快捷方式。例如,如果要启动“internet explorer.lnk”,可以键入以下命令:
invoke-item 'Internet Explorer.lnk'
或者您也可以使用别名
ii 'internet explorer.lnk'
另一件很酷的事情是,您可以执行“invoke item t.txt”,它将自动打开*.txt文件的默认处理程序,例如记事本
注意如果要在当前目录中执行应用程序app.exe,则必须实际指定要执行的相对或绝对路径。“\app.exe”是执行应用程序需要键入的内容。cmd会自动将当前目录“.”添加到PATH环境变量中。PowerShell将此视为安全风险,并强制您显式键入。\path。在linux中,您可以将“.”添加到PATH环境变量中以恢复“危险”行为……我认为您还必须键入完整的文件名s.lnk,如slipsec saidJaykul/slipsec所述,我给出的答案是,可以将.lnk添加到PATHEXT环境变量中,然后可以从命令行启动快捷方式,而无需添加.lnk。问题是它没有启动UI。现在,我尝试启动VisualStudio。我可以看到它的过程,但当我使用RDP连接到计算机时,没有显示UI。有什么想法吗?
ii 'internet explorer.lnk'