Question Boucle foreach sur un fichier texte

Plus d'informations
il y a 11 ans 2 mois #19188 par Toper
Bonjour,
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 :S :silly:

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.

Plus d'informations
il y a 11 ans 2 mois #19192 par xyz
Réponse de xyz sur le sujet Re:Boucle foreach sur un fichier texte
gregmurf écrit:

Il me compte tous les sous-dossiers de l'arborescence

'Il' est-il bien en cause ?
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.

Plus d'informations
il y a 11 ans 2 mois #19193 par Toper
OK.
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 \&quot;lastwritetime\&quot; 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.

Plus d'informations
il y a 11 ans 2 mois #19195 par xyz
Réponse de xyz sur le sujet Re:Boucle foreach sur un fichier texte
gregmurf écrit:

ou plutôt son éditeur:whistle:

On est d'accord.
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.

Plus d'informations
il y a 11 ans 2 mois #19197 par Toper
Laurent Dardenne écrit:

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.

Plus d'informations
il y a 11 ans 2 mois #19198 par Toper
Laurent Dardenne écrit:

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.

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