je tentais ajouter au menu contextuel (pour les répertoires) l'option « Ouvrir un projet Sublime » et l'icône du Sublime Text Editor 2.erreur instruction IF
Eh bien, le problème est que si j'exécute les 2 commandes , l'exécution est parfaite, mais si j'exécute le script, seule la première commande est exécutée.
sortie: Aucune erreur
If (-NOT(
([bool](New-Item -Path "HKLM:\Software\Classes\Directory\shell\Open Sublime Project\command" -Value "`"C:\Program Files\Sublime Text 2\sublime_text.exe`" --new-window %1" -Force)) -OR
([bool](New-ItemProperty -Path "HKLM:\Software\Classes\Directory\shell\Open Sublime Project" -Name "Icon" -PropertyType "String" -Value "`"C:\Program Files\Sublime Text 2\sublime_text.exe`",0" -Force))
)
)
{
Write-Host "Error"
}
Else
{
Write-Host "No errors"
}
Je sais utiliser l'instruction if ... De plus, les deux commandes retournent true. – user3602030
Non, la commande one renvoie true, la seconde commande n'est jamais évaluée car la première commande renvoie true. Il n'y a aucune raison d'évaluer les deux côtés du '-or' si le côté gauche est déjà vrai, c'est pourquoi le côté droit n'est jamais exécuté. Il suffit donc de changer le' -or' en un '-and' pour faire votre travail de code, bien qu'il y ait beaucoup de meilleurs moyens de vérifier l'erreur dans powershell. Mais comme mon post lit, si le côté gauche est faux, le côté droit ne fonctionnera jamais dans ce cas – Cole9350
Um ... Mais la première commande (bool) est fausse parce qu'elle est niée:/ – user3602030