J'ai le code PowerShell suivant appelant WSHShell qui va créer un raccourci dans le menu Démarrer pour Win7/8 mais je ne parviens pas à comprendre comment PowerShell pour passer les citations nécessaires autour de la Chemin d'accès UNC avant les arguments dans la ligne cible.Création d'un chemin quoté pour un raccourci avec des arguments dans PowerShell
Ce que je veux: "\\ UNCPATH1 \ Répertoire \ application.exe" Argumenta ArgumentB
Ce que je reçois: \\ UNCPATH1 \ Répertoire \ application.exe Argumenta ArgumentB
code comme actuellement utilisé:
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:ProgramData\Microsoft\Windows\Start Menu\Programs\supercoolprogram\mrincredible.lnk")
$Shortcut.TargetPath = "\\UNCPATH1\Directory\application.exe"
$Shortcut.Arguments = "argumentA ArgumentB"
$Shortcut.WorkingDirectory = "\\UNCPATH1\Directory"
$Shortcut.Save()
Modifier avec C Exemples d'odes ... merci à TheMadTechnician et Speerian qui ont tous deux eu des exemples de travail. Windows supprime les chemins indiqués dans le champ cible des raccourcis qui n'ont pas d'espace dans le chemin UNC de l'application. Les deux exemples de code fonctionnent sur des chemins avec des espaces.
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:ProgramData\Microsoft\Windows\Start Menu\Programs\supercoolprogram\mrincredible.lnk")
$Shortcut.TargetPath = "`"\\UNCPATH1\Directory1\application.exe`""
$Shortcut.Arguments = "argumentA ArgumentB"
$Shortcut.WorkingDirectory = '"\\UNCPATH1\Directory1"'
$Shortcut.Save()
ou
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:ProgramData\Microsoft\Windows\Start Menu\Programs\supercoolprogram\mrincredible.lnk")
$Shortcut.TargetPath = """\\UNCPATH1\Directory 1\application.exe"""
$Shortcut.Arguments = "argumentA ArgumentB"
$Shortcut.WorkingDirectory = "\\UNCPATH1\Directory 1"
$Shortcut.Save()
Sur le second exemple noter l'espace dans le chemin UNC et la suppression des guillemets simples de WorkingDirectory dans les attributs de raccourci. (les fenêtres seront automatiquement ajoutées ici)
Merci, mais cela me donne toujours la cible UNC non cité comme indiqué ci-dessus. – thatotheritguy
Vous avez raison, je l'ai réparé. – TheMadTechnician
Cela fonctionne pour fournir des citations sur le début dans le champ, Cependant, le champ cible montre encore: \\ UNCPATH1 \ Directory \ application.exe argumentA ArgumentB Y arriver ... J'ai essayé les guillemets doubles et triples, enveloppant dans un seul citation et n'a pas pu obtenir la cible correctement formatée. – thatotheritguy