所以我有这个脚本是自动安装一些软件。 在我安装软件之后,我为这些快捷方式出现在桌面上的一些重要应用程序创build了快捷方式。 这是我的代码。
$ConfigureExeSource = "C:\Program Files (x86)\SiteKiosk\Configure.exe" $ConfigureLoc = "C:\Users\Public\Desktop\Configure.lnk" $StartSiteKioskExeSource = "C:\Program Files (x86)\SiteKiosk\SiteKiosk.exe" $StartSiteKioskLoc = "C:\Users\Public\Desktop\SiteKiosk.lnk" $CheckKioskExeSource = "C:\Users\Public\Documents\checkkiosk.exe" $CheckKioskLoc = "C:\Users\Public\Desktop\checkkiosk.lnk" #copying to desktop $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($ConfigureLoc) $Shortcut.TargetPath = $ConfigureExeSource $Shortcut.Save() Write-Host "Created Configure.exe Shortcut" $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($StartSiteKioskLoc) $Shortcut.TargetPath = $StartSiteKioskExeSource $Shortcut.Save() Write-Host "Created Sitekiosk.exe Shortcut" $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($CheckKioskLoc) $Shortcut.TargetPath = $CheckKioskExeSource $Shortcut.Save() Write-Host "Created Checkkiosk.exe Shortcut"
然后我得到生成的捷径,然后我testing了每一个。 这导致它们都工作,除了configuration快捷方式。
我手动创build了一个configuration快捷方式,以确保我有正确的path,我做到了。 然后我比较了其他属性,我发现startIn属性是我的PowerShell的一个空白,但在手动创build一个“C:\ Program Files文件(x86)\ SiteKiosk”填充。 我把它复制到PowerShell的,它的工作。
现在我不知道发生了什么事情,因为sitekiosk快捷方式工作没有填写字段,但configuration之一,由于某种原因需要它,否则将无法正常工作。 有谁知道我可以修复我的代码,以正确生成一个快捷方式的工作,即使修复只是为快捷方式生成该字段。 我环顾四周,并没有find一种方法来填充快捷方式中的startIn字段。
PS:我尝试上传照片,但stackoverflow不让我,因为我有10代表以下,我可以上传他们imgur虽然如果有人认为这将有所帮助。
如在MSDN参考页面中所看到的那样,您将要设置WorkingDirectory属性。
$WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($ConfigureLoc) $Shortcut.TargetPath = $ConfigureExeSource $Shortcut.WorkingDirectory = "C:\Program Files (x86)\SiteKiosk" $Shortcut.Save()