Question Execution de scripts externes dans boucle

Plus d'informations
il y a 15 ans 9 mois #2511 par sonic
Bonjour,
Voila je voudrais lancer les scripts que me remontes un script central.
Ca donne:
[code:1]$tache=gci *.ps1 -r -path C:\APPL\admin |format-table fullname -autosize -hideTableHeaders
$tache | out-file \"C:\APPL\admin\temp.txt\" -width 9999
$script=get-content \"C:\APPL\admin\temp.txt\"

echo \"**********************************\" >> C:\APPL\admin\log.txt
foreach ($texe in $script)
{
if ($texe -ne $NULL)
{
.$texe
}
}


[/code:1]
Comme on peu le voir je n'ai pas solutionné le fait de devoir passer par un fichier texte pour traité les noms (j'ai ce problème ailleurs) . Si je fait pas comme ca ca fonctionne pas . Je peu pas chercher dans toutes les directions en même temps .
Sinon mon problème actuel est:
Dans la boucle j'ai beau essayer .\$texe, powershell $texe , et un peu tout ce que je trouve, toujours le meme problème . Ca fonctionne mais j'ai un message d'erreur qui me dit que \".\" est invalide dans le pipeline . Si je le met pas ca fonctionne pas, ou ouvre mes fichiers dans notepad, ou lance juste un nouveau powershell, si je met que la variable non plu .(j'ai du tout essayé sauf ce qu'il faut)
En résumé donc: Ca lance bien les scripts mais avec un message d'erreur dût au \".\" . Comment supprimer ce problème .
A terme je compte lancer des scripts qui configurerons un script moteur central .
Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #2512 par Laurent Dardenne
sonic31 écrit:

$script=get-content \"C:\APPL\admin\temp.txt\"

Ton fichier contient des lignes vide c'est pour ça que la ligne \".$texe\" est interprété comme \".\" qui est donc envoyé dans le pipe directement.
Une autre approche, sans fichier intermédiaire:
[code:1]
gci *.ps1 -r -path C:\APPL\admin |%{&$($_.fullname)}
[/code:1]
Pour approfondir le principe du pipeline, tu peux lire ce tuto :
laurent-dardenne.developpez.com/articles...werShell/Pipelining/
Bonn lecture :)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.083 secondes
Propulsé par Kunena