2015-08-28 2 views
1

Я пытаюсь создать короткое сокращение на общедоступном рабочем столе для пользователей, но этот целевой путь для этого короткого замыкания вызывает некоторые проблемы.Проблемы с целевым контуром в powershell при создании короткого замыкания

$wshshell = New-Object -ComObject WScript.shell 

$desktop = [System.Environment]::GetFolderPath("desktop") 

$lnk = $wshshell.CreateShortcut("$desktop\CLMCPDEDEV.lnk") 

$lnk.TargetPath = "C:\Program Files (x86)\Unisys\WebEnabler\Web Enabler.exe" "configfile=c:\development-installs\web-enabler-config\CLMCPDEDEV.cfg" 

У меня есть файл конфигурации в другой папке, а exe - по другому пути. Я новичок в силовой оболочке, как мне обойти это пространство между "C:\Program Files (x86)\Unisys\WebEnabler\Web Enabler.exe" и "configfile=c:\development-installs\web-enabler-config\CLMCPDEDEV.cfg"? Это полный путь сокращения, когда я делаю это вручную. Любое руководство очень ценится.

+0

ли поставить апостроф перед тем ' "C: '' и после того, как .cfg"' помочь? –

ответ

2

Цитата CreateShortcut метода документации:

Общая проблема ставит аргументы в свойстве TargetPath в ярлык объекта, который не работает. Все аргументы в ярлыке должны быть помещены в свойство Arguments.

Таким образом, вы должны сделать это:

$wshshell = New-Object -ComObject WScript.shell 

$desktop = [System.Environment]::GetFolderPath('Desktop') 

$lnk = $wshshell.CreateShortcut((Join-Path -Path $desktop -ChildPath 'CLMCPDEDEV.lnk')) 

$lnk.TargetPath = 'C:\Program Files (x86)\Unisys\WebEnabler\Web Enabler.exe' 
$lnk.Arguments = 'configfile=c:\development-installs\web-enabler-config\CLMCPDEDEV.cfg' 

$lnk.Save() 
+0

Это сработало и переместило короткое сообщение публике. Я использовал типичный cmd/c xcopy% userprofile% \ desktop \ CLMCPDEDEV.lnk c: \ users \ public \ desktop , а затем cmd/c del% userprofile% \ desktop \ CLMCPDEDEV .lnk, чтобы избежать дублирования значков – joextreme

+0

Привет, BeatCracker. Какую команду я бы использовал, если я хочу изменить значок короткого выреза на конкретный lnk выше в общедоступном рабочем столе? У меня есть ICO-файл в папке другого цвета, которую я хочу использовать clmcpdedev.lnk? – joextreme

+0

nevermind, пошел еще один маршрут, спасибо – joextreme

Смежные вопросы