Question
Boucle foreach sur un fichier texte
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 145
- Remerciements reçus 0
j'ai un fichier texte qui contient des chemins réseau vers des dossiers.
Je dois vérifier, pour certains d'entre eux, si leur contenu n'est pas vide, ou si leur date de dernier accès en écriture ne remonte pas à plus de X jours.
Je bute sur le \"foreach\" qui doit s'exécuter sur chaque ligne (ou chemin) du fichier texte, et non sur toutes d'un coup (forEACH quoi...).
Le script:
[code:1]$Users = (get-content c:\Nouveau document texte.txt')
foreach ($User in $Users) {
$Result = Get-ChildItem $Users | Measure-Object
$Result.Count
$directorylastwritetime = Get-ChildItem $Users -Exclude \"Favorites\" | Where-Object {$_.lastwritetime -lt (get-date).addDays(0) -and $_.lastwritetime -gt (get-date).addDays(-7)}
if ($Result.Count -eq 0 -or $directorylastwritetime -eq $fasle) {Write-Host \"Pas bon\"}
else { \"OK\" ; exit}
}[/code:1]
Le fichier texte:
[code:1]
\\serveur\dossier1
\\serveur\dossier2
etc...[/code:1]
Il me compte tous les sous-dossiers de l'arborescence, et non les sous-dossiers pour le dossier1, puis ceux du dossier2, etc...
Je sais pas si vous avez pu me comprendre
Message édité par: gregmurf, à: 5/03/15 11:57<br><br>Message édité par: gregmurf, à: 5/03/15 11:58
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
'Il' est-il bien en cause ?Il me compte tous les sous-dossiers de l'arborescence
Ne pas confondre la liste et un élément de la liste.
Tout est dans le 'S'...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 145
- Remerciements reçus 0
Admettons le contenu du fichier texte comme suit:
[code:1]
\\serveur\dossier1
\\serveur\dossier2
\\serveur\dossier3
\\serveur\dossier4
[/code:1]
Si les sous-dossiers du dossier1 ont une \"lastwritetime\" supérieure à x jours, ou que le contenu du dossier1 est vide, alors j'envoi un mail (ou autre, peu importe).
Sinon, je ne fais rien.
Puis pareil pour le dossier2, puis pour le dossier3, etc...
Sauf que le script (ou plutôt son éditeur:whistle: ) additionne le nombre de sous-dossiers du dossier1 avec ceux du dossier2, + ceux du 3, etc...<br><br>Message édité par: gregmurf, à: 5/03/15 12:57
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
On est d'accord.ou plutôt son éditeur:whistle:
En clair :
[code:1]
#Liste une collection élément par élément
foreach ($User in $Users) {
#Parcourt TOUT les répertoires de la liste
$Result = Get-ChildItem $Users | Measure-Object
[/code:1]
C+ mieux ?<br><br>Message édité par: Laurent Dardenne, à: 5/03/15 13:55
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 145
- Remerciements reçus 0
En clair :
[code:1]
#Liste une collection élément par élément
foreach ($User in $Users) {
#Parcourt TOUT les répertoires de la liste
$Result = Get-ChildItem $Users | Measure-Object
[/code:1]
C+ mieux ?
Tu veux dire qu'à un endroit je lui demande de parcourir élément par élément, et en dessous je lui dit de tout parcourir ?
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 145
- Remerciements reçus 0
En clair :
[code:1]
#Liste une collection élément par élément
foreach ($User in $Users) {
#Parcourt TOUT les répertoires de la liste
$Result = Get-ChildItem $Users | Measure-Object
[/code:1]
C+ mieux ?
Tu veux dire qu'à un endroit je lui demande de parcourir élément par élément, et en dessous je lui dit de tout parcourir ?
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Boucle foreach sur un fichier texte