当前位置:  开发笔记 > 编程语言 > 正文

执行程序等快捷方式

如何解决《执行程序等快捷方式》经验,为你挑选了3个好方法。

例如:你有一个快捷方式sSomeProgram当前目录.

cmd.exe,您可以键入s,它将启动该程序.

在PowerShell中,键入s给出:

The term 's' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.

如果你键入s.lnkSomeProgram,它运行程序就好了.

如何将PowerShell配置为像程序一样执行快捷方式?



1> Mark Schill..:

您还可以使用"invoke-item"cmdlet调用快捷方式.因此,例如,如果您要启动"Internet explorer.lnk",则可以键入以下命令:

invoke-item 'Internet Explorer.lnk'

或者您也可以使用别名

ii 'internet explorer.lnk'

另一个很酷的事情是,您可以执行"invoke-item t.txt",它会自动打开*.txt文件的默认处理程序,例如记事本.

注意如果要在当前目录中执行应用程序app.exe,则必须实际指定要执行的路径(相对或绝对路径).".\ app.exe"是您执行应用程序时需要输入的内容.



2> bruceatk..:

在我的Vista系统上输入S将不会启动lnk文件,除非我在列表中设置了.lnk的环境变量PATHEXT.当我做.S将在cmd.exe中工作,我必须这样做.\ S在powershell中.



3> Emperor XLII..:

添加;.LNK到我的PATHEXT环境变量的末尾后,即使没有前面的./表示法,我现在也可以执行快捷方式.(谢谢bruceatk!)

我也受到了Steven建议创建一个小脚本的启发,该脚本自动将我的所有快捷方式别名化PATH(即使我打算坚持使用更简单的解决方案;).

$env:path.Split( ';' ) | 
  Get-ChildItem -filter *.lnk | 
  select @{ Name='Path'; Expression={ $_.FullName } }, 
         @{ Name='Name'; Expression={ [IO.Path]::GetFileNameWithoutExtension( $_.Name ) } } | 
  where { -not (Get-Alias $_.Name -ea 0) } | 
  foreach { Set-Alias $_.Name $_.Path }

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有