Как создать ярлык диска на рабочем столе с помощью Powershell? - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь создать ярлык для моего диска C на рабочем столе с помощью PowerShell.

$TargetFile = "$env:C:\"
$ShortcutFile = "$env:E:\Users\Oskar.lnk"
$WScriptShell = New-Object  -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()

Проблема заключается в том, что он создает ярлык, но в некоторой случайной локализации на диске C.
Мой рабочий стол находится на диске E.Как это возможно, что ярлык создается на диске C, если путь E: \ Users \ Oskar.

Кто-нибудь знает, как решить эту проблему ?.
Заранее спасибо, Оскар.

1 Ответ

0 голосов
/ 27 сентября 2018

$env:VAR ищет переменную среды с именем VAR.

Таким образом, ваш "$env:E:\Users\Oskar.lnk" ищет переменную среды с именем E:\Users\Oskar.lnk, которая не существует, поэтому он использует пустую строку.

Это приводит к тому, что ярлык сохраняется в текущем каталоге (процесс Win32) (примечание: он не обязательно совпадает с текущим каталогом PowerShell).

Вы должны использовать $ShortcutFile = "E:\Users\Oskar.lnk".

Аналогично для другого места, где вы использовали $env: ...

...