powershell 运行快捷方式


PowerShell交流中心powershell 运行快捷方式
0
kululu asked 9 年 ago

在电脑中假如

D:\op\bin

这个路径已加入环境变量Path

且在该路径下存在qq.lnk这个一个快捷方式。

问:在别的目录下,powershell能否像启动ping这些命令样启动这个快捷方式?该如何启动这个快捷方式呢?

0 Answers
1
Mooser Lee 管理员 answered 9 年 ago

经过测试,环境变量下的快捷方式不会被自动处理。
但是我们可以写自己的帮助函数实现你的需求:

 function Invoke-Link
{
    param($Name)
if($Name -eq $null){
return
}

# find item at current directory
if(Test-Path $Name){
Invoke-Item $Name
return
}

# find item in environment path
[environment]::GetEnvironmentVariable('path') -split ';' |
foreach {
$dir = [environment]::ExpandEnvironmentVariables($_)
# test item width full path
$fileName = Join-Path $dir $Name
if(Test-Path $fileName) {
Invoke-Item $fileName
break
}
# test item with lnk suffix
$fileName = Join-Path $dir ("{0}.lnk" -f $Name)
if(Test-Path $fileName) {
Invoke-Item $fileName
break
}
}
}
Invoke-link -Name 'notepad++.exe.lnk'
Invoke-link -Name 'notepad++'