Question
pb de boucle avec une variable
- maiden65
- Auteur du sujet
- Visiteur
-
il y a 12 ans 9 mois #15041
par maiden65
pb de boucle avec une variable a été créé par maiden65
bonjour,
Décidément je ne suis pas encore un familier du PS.
Voila mon pb. Je souhaite récupérer les lecteurs d'un ordi et lister des fichiers par rapport a ces lecteurs
tout d'abord j'ai fait
[code:1]
$lst_dsk=(get-wmiobject win32_logicaldisk | format-wide -column 1 deviceid )
[/code:1]
Ensuite je souhaite utiliser cette liste pour faire
[code:1]
foreach ($lecteur in echo $lst_dsk) { gci $lecteur -recurse -Include *.csv }
[/code:1]
Mais j'ai le message suivant
[code:1]
Get-ChildItem : Impossible de trouver le chemin d'accès « E:\Formation\powershell\Script\Microsoft.PowerShell.Commands.
Internal.Format.FormatEndData », car il n'existe pas.
Au niveau de ligne : 1 Caractère : 42
+ foreach ($lecteur in echo $lst_dsk) { gci <<<< $lecteur -recurse -Include *.mp3 }
+ CategoryInfo : ObjectNotFound: (E:\Formation\po...t.FormatEndData:«»String) [Get-ChildItem], ItemNotFound
Exception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
[/code:1]
Or quand je fait un echo $lst_dsk j'ai bien ma liste de lecteur
Merci de m'aider car là je ne comprend pas...
Décidément je ne suis pas encore un familier du PS.
Voila mon pb. Je souhaite récupérer les lecteurs d'un ordi et lister des fichiers par rapport a ces lecteurs
tout d'abord j'ai fait
[code:1]
$lst_dsk=(get-wmiobject win32_logicaldisk | format-wide -column 1 deviceid )
[/code:1]
Ensuite je souhaite utiliser cette liste pour faire
[code:1]
foreach ($lecteur in echo $lst_dsk) { gci $lecteur -recurse -Include *.csv }
[/code:1]
Mais j'ai le message suivant
[code:1]
Get-ChildItem : Impossible de trouver le chemin d'accès « E:\Formation\powershell\Script\Microsoft.PowerShell.Commands.
Internal.Format.FormatEndData », car il n'existe pas.
Au niveau de ligne : 1 Caractère : 42
+ foreach ($lecteur in echo $lst_dsk) { gci <<<< $lecteur -recurse -Include *.mp3 }
+ CategoryInfo : ObjectNotFound: (E:\Formation\po...t.FormatEndData:«»String) [Get-ChildItem], ItemNotFound
Exception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
[/code:1]
Or quand je fait un echo $lst_dsk j'ai bien ma liste de lecteur
Merci de m'aider car là je ne comprend pas...
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 9 mois #15042
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:pb de boucle avec une variable
Salut,
maiden65 écrit:
Par contre il doivent être utilisés en dernier dans ton traitement, pour justement formater son résultat.
Donc, tu retires l'appel du cmdlet Format-Wide, peut être devras-tu le remplacer par un appel à Select-Object.
Ainsi tu récupères une collection d'objet et pas une collection d'objet de formatage (Internal.Format.FormatEndData).
maiden65 écrit:
maiden65 écrit:
On utilise les cmdlets de formatage pour .... formaterMerci de m'aider car là je ne comprend pas...
Par contre il doivent être utilisés en dernier dans ton traitement, pour justement formater son résultat.
Donc, tu retires l'appel du cmdlet Format-Wide, peut être devras-tu le remplacer par un appel à Select-Object.
Ainsi tu récupères une collection d'objet et pas une collection d'objet de formatage (Internal.Format.FormatEndData).
maiden65 écrit:
Un peu plus chaque jourDécidément je ne suis pas encore un familier du PS.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- maiden65
- Auteur du sujet
- Visiteur
-
il y a 12 ans 9 mois #15043
par maiden65
Réponse de maiden65 sur le sujet Re:pb de boucle avec une variable
Merci..
J'ai réussi a faire cette commande
[code:1]
(get-wmiobject win32_logicaldisk -filter \"drivetype=3\" | select-object deviceid | foreach { gci $_.deviceid -Include *.csv -recurse } )
[/code:1]
J'ai bien une liste des fichiers.
Toutefois je souhaiterais limiter mon affichage au nom du répertoire
Dans l'affichage j'ai un moment
[code:1]
Répertoire : J:\histo_table>
[/code:1]
Mais je ne trouve pas le nom du champs correspondant.
Qqun a une idée ??
Merci d'avance
J'ai réussi a faire cette commande
[code:1]
(get-wmiobject win32_logicaldisk -filter \"drivetype=3\" | select-object deviceid | foreach { gci $_.deviceid -Include *.csv -recurse } )
[/code:1]
J'ai bien une liste des fichiers.
Toutefois je souhaiterais limiter mon affichage au nom du répertoire
Dans l'affichage j'ai un moment
[code:1]
Répertoire : J:\histo_table>
[/code:1]
Mais je ne trouve pas le nom du champs correspondant.
Qqun a une idée ??
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Charles
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
il y a 12 ans 9 mois #15045
par Charles
Réponse de Charles sur le sujet Re:pb de boucle avec une variable
Tout dépends ce que tu entends par limiter l'affichage au nom du répertoire.
Si tu veux réellement uniquement le nom du répertoire:
[code:1]
(get-wmiobject win32_logicaldisk -filter \"drivetype=3\" | select-object deviceid | foreach { gci $_.deviceid -Include *.csv -recurse } ) | Select DirectoryName
[/code:1]
Ce code te permettras de récupérer uniquement les noms des répertoires où se trouvent des fichiers au format CSV dans tes disques.
Si tu veux réellement uniquement le nom du répertoire:
[code:1]
(get-wmiobject win32_logicaldisk -filter \"drivetype=3\" | select-object deviceid | foreach { gci $_.deviceid -Include *.csv -recurse } ) | Select DirectoryName
[/code:1]
Ce code te permettras de récupérer uniquement les noms des répertoires où se trouvent des fichiers au format CSV dans tes disques.
Connexion ou Créer un compte pour participer à la conversation.
- maiden65
- Auteur du sujet
- Visiteur
-
il y a 12 ans 9 mois #15049
par maiden65
Réponse de maiden65 sur le sujet Re:pb de boucle avec une variable
Super ca marche !!
Mais comme cela me donnait le nom du répertoire pour chacun des fichiers trouvés j'ai rajouté unique
[code:1]
PS E:\Formation\powershell\Script> (get-wmiobject win32_logicaldisk -filter \"drivetype=3\" | select-object deviceid,files
ystem | foreach { gci $_.deviceid -Include *.mp3 -recurse } ) | Select -unique DirectoryName
[/code:1]
Et là c'est pil-poil...
Mais comme cela me donnait le nom du répertoire pour chacun des fichiers trouvés j'ai rajouté unique
[code:1]
PS E:\Formation\powershell\Script> (get-wmiobject win32_logicaldisk -filter \"drivetype=3\" | select-object deviceid,files
ystem | foreach { gci $_.deviceid -Include *.mp3 -recurse } ) | Select -unique DirectoryName
[/code:1]
Et là c'est pil-poil...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.069 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- pb de boucle avec une variable