Bonjour,
Le code suivant fonctionne
Mon fichier output.text contient alors 17 lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 aStringList := TStringList.Create; aProcess := TProcess.Create(nil); aProcess.CommandLine := 'ls' ; aProcess.Options := aProcess.Options + [poUsePipes] - [poWaitOnExit]; aProcess.Execute; aStringList.LoadFromStream(aProcess.Output); aProcess.Free; aStringList.SaveToFile('output.txt'); aStringList.Free;
Si je remplace aProcess.CommandLine := 'ls' ; par aProcess.CommandLine := 'ls | head -5';, le fichier output.txt est vide or en console, la commande avec head -5 me retourne bien 5 lignes.
Il s'agit très vraisemblablement d'un problème d'espaces et du | qui doivent être encadrés de simples ou doubles quotes à bon escient. Mais quelle est le bonne combinaison ?
Merci. Cordialement. Gilles
Partager