Je cherche à exécuter SQLPLUS à partir de powershell. Je veux donc exécuter un SQLPLUS.exe et ensuite exécuter un fichier SQL. Une fois que cela fonctionne, si elle réussit, je veux écrire dans un fichier journal 'Ce fut un succès' ou 'C'était un échec'.Comment exécuter un fichier .exe dans powershell et écrire le résultat dans le fichier journal
J'ai essayé d'exécuter le fichier .exe comme
&'path\sqlplus.exe' 'system/[email protected] as sysdba' '@themainscript.sql'
mais je trouve la prochaine partie difficile à écrire dans le fichier journal si elle est un succès. Je ne cherche pas à vérifier si c'était un succès, j'ai besoin de savoir comment écrire dans le fichier journal si c'était un succès
double possible de [Vérifiez si une commande a couru avec succès] (https://stackoverflow.com/questions/8693675/check-if-a-command-has-successful-ran); Je suggère de mettre l'accent sur la réponse la plus mise à jour plutôt que sur la réponse acceptée (en fait, utilisez $ $ qui contiendra la valeur de succès de la commande précédente) – Aaron
Aussi, pour écrire dans un fichier journal '' message "> logPath' semble être assez. Je n'utilise quasiment jamais PowerShell donc ce n'est peut-être pas la construction la plus idiomatique, mais je l'ai testé avec succès – Aaron
@Aaron: Il est idiomatique, mais un getcha potentiel est que '>' crée des fichiers UTF-16LE - invariablement en v5.0-, et par défaut dans PSv5.1 + (où vous pouvez changer l'encodage avec la configuration, pas ad-hoc). pinkhighlighter: Cherchez-vous vraiment '' "message"> logPath'? – mklement0