创造"计算机"和"文件" PowerShell的快捷方式

时间:2014-09-04 21:53:40

标签: powershell shortcut

我正在尝试为用户自动化一些内容,其中一个是在桌面上添加“计算机”和“文档”快捷方式。

我在网上找到了以下代码并将目标更改为“explorer.exe / e,:: {20D04FE0-3AEA-1069-A2D8-08002B30309D}”

$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut(C:\users\username\Desktop\Computer.lnk")
$Shortcut.TargetPath = "explorer.exe \/e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
$Shortcut.Save()

但是当我运行此代码时,我收到以下错误:

“异常调用”保存“并带有”0“参数:”无法保存镜头“

如果有另一种简单的方法,我很乐意听到它:)

提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

我想我在这里有一个很好的解决方案。另外,根据我自己的无能,我想我找出了你的错误原因

首先,我找到了cleaner方法来制作特殊文件夹的快捷方式。

$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\users\user\Desktop\MacadizamianNizzut.lnk")
$Shortcut.TargetPath = [environment]::getfolderpath("mycomputer")
$Shortcut.Save()

您也可以使用mydocuments代替mycomputer。有关可以使用的特殊文件夹的完整列表:[enum]::GetNames([System.Environment+SpecialFolder])。向JRV提示,以便对我上面的链接发表评论。

至于您的错误"Exception calling "Save" with "0" arguments : "Unable to save shortcut"。我也遇到了这个错误。实际上,这是因为createshortcut传递的值不是有效路径。我不是说文件必须存在但文件夹路径存在。我做了一个错字并得到了错误。使用我的示例,此命令将失败:Test-Path ""C:\users\user\Desktop"

一些错误预防

我们可以做的是将快捷方式路径分配给变量并根据该路径测试路径。

$ShortcutPath = "C:\users\username\desktop\test.lnk"
If(Test-Path -Path (Split-Path -Path $ShortcutPath -Parent)){
    $WshShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WshShell.CreateShortcut($ShortcutPath)
    $Shortcut.TargetPath = [environment]::getfolderpath("mycomputer")
    $Shortcut.Save()
} Else {
    Write-Host "Unable to create shortcut. Check the path $ShortcutPath."
}