PowerShell fonctions qui renvoient true/false
Je suis assez nouveau à l'aide de PowerShell et je me demandais si quelqu'un aurait des commentaires sur essayer d'obtenir PowerShell fonctions à valeurs de retour.
Je veux créer une fonction qui retourne une valeur:
Function Something
{
# Do a PowerShell cmd here: if the command succeeded, return true
# If not, then return false
}
Alors une deuxième fonction qui sera exécuté uniquement si la fonction ci-dessus est vrai:
Function OnlyTrue
{
# Do a PowerShell cmd here...
}
Pour la manipulation de la "pas"/faux de l'opérateur, voir: stackoverflow.com/questions/8095638/...
OriginalL'auteur scapegoat17 | 2013-08-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser l'instruction return dans PowerShell:
La sortie est
Success
si le fichier existe etFail
si elle ne le fait pas.Une mise en garde est que PowerShell retour des fonctions de tout ce qui n'est pas capturé. Par exemple, si je change le code de quelque Chose:
Puis le retour sera toujours le Succès, parce que même lorsque le fichier n'existe pas, la fonction renvoie un tableau d'objets ("Bonjour", False). Jetez un oeil dans Les Valeurs booléennes et les Opérateurs pour plus d'informations sur les booléens en PowerShell.
OriginalL'auteur antonyoni
Vous feriez quelque chose comme ça. La commande Test utilise la variable automatique '$?'. Elle retourne true/false si la dernière commande exécutée avec succès (voir la about_Automatic_Variables rubrique pour plus d'informations):
J'ai essayé ton code, mais il renvoie "False \n\r Vrai". J'ai changé de "Faire quelque Chose" avec "Get-Item dhjsiadosajdiosa", qui est un exemple d'une commande échoue. Je m'attends à ce que le script retourne "False", mais il renvoie "False \n\r Vrai"
OriginalL'auteur Shay Levy
Très retard de réponse, mais juste eu le même problème en powershell 5.
Vous pouvez utiliser 1 et 0 comme valeur de retour. ensuite, vous pouvez le convertir en booléen ou simplement l'utiliser
"-eq 1" ou 0
OriginalL'auteur Alexandros Papadopoulos