Как использовать PowerShell для создания SymbolicLink для исполняемого файла с параметром пути к файлу? - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь создать ярлык на рабочем столе Windows (SymbolicLink), который запускает скрипт PowerShell. Если бы это было выполнено из командной строки, это было бы:

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noexit -file "C:\User\BFT\Test\HelloWorld.ps1"

И командная строка работает с этим.

Я также могу создать ярлык, щелкнув правой кнопкой мыши на рабочем столевыберите New, выберите ярлык и загрузите указанную выше команду в диалоговое окно. Это также прекрасно работает.

Когда я пытаюсь создать этот ярлык в PowerShell с помощью команды:

New-Item -ItemType SymbolicLink -Path "c:\User\BFT\Test" -Name "Test" -Target """C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noexit -file "C:\User\BFT\Test\HelloWorld.ps1"""

Я получаю сообщение об ошибке:

New-Элемент: Невозможно найти параметр, который соответствует имени параметра «noexit».

Я пробовал несколько версий, включающих различные кавычки, с и без -noexit и -file и т. Д. Кажется, ни одна из них не работает.

Может показаться, что PowerShell не может работать как с exe-файлом, так и с частью пути к файлу, но похоже, что это должно быть общее использование, и я думаю, что есть способ. Я, вероятно, что-то упускаю.

Любая помощь в предложении решений будет принята с благодарностью.

1 Ответ

0 голосов
/ 15 октября 2019

Файлы ярлыков (.lnk файлы) не совпадают с символическими ссылками - см. этот ответ для справочной информации.

New-Item не поддерживает создание файлов ярлыков , только символические ссылки,

Чтобы создать файлы ярлыков программным способом, необходимо использовать WScript.ShellCOM-компонент , как показано в , этот ответ .

...