回答powershell 运行快捷方式


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

 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++'

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。