Question Findstr vs Select-String (Résolu)

Plus d'informations
il y a 13 ans 3 mois #1509 par sonic
Bonjour,
Je voulais remplacer mon findstr adoré car simple et efficace pas select-string de PS pour des raisons d'homogénéité (findstr=bat). Ben j'y arrive pas .
PS C:\dev> get-childitem -Recurse |Where-Object {$_.PSIsContainer -eq 0}| sort-object -descending -property lastWritetime | findstr /B /C:-a
Me donne bien la liste de mes repertoires triés et sans les entétes de colones alors que :
PS C:\dev> get-childitem -Recurse |Where-Object {$_.PSIsContainer -eq 0}| sort-object -descending -property lastWritetime |select-string \"^-a\"
me donne la liste de tous les fichiers qui contiennent -a.
Ils ne se comporte pas pareil avec le | je vois pas d'option dans l'aide ni d'exmeple adaptable a mon cas .
Est ce seulement possible de facon simple . Deja j'ai du passé par une expression régulière pour detecter le \"-a\" eb debut de ligne alors que ca n'est qu'une simple option de findstr . Doit je garder findstr et si oui on y perd quoi ? sinon comment je fait ?

Merci :whistle:<br><br>Message édité par: Arnaud, à: 22/01/08 17:50

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

Plus d'informations
il y a 13 ans 3 mois #1511 par TIti
Réponse de TIti sur le sujet Re:findstr vs select-string
Bonjour,

J'espère que j'ai bien compris ta question...
Lister les fichiers d'une arborescence et sélectionner (par exemple) ceux dont la première lettre est un \&quot;A\&quot;.
Tu peux par exemple utiliser cette ligne.
[code:1]get-childitem -Recurse |Where-Object {($_.PSIsContainer -eq 0) -and ($_.name -ilike \&quot;a*\&quot;«»)} | sort-object -descending -property lastWritetime |`
select-object name | format-table -auto[/code:1]
Ou attendre le passage de nos experts pour un truc plus ... chiadé ;)
Béru

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

Plus d'informations
il y a 13 ans 3 mois #1512 par sonic
Réponse de sonic sur le sujet Re:findstr vs select-string
Pas tout à fait . Je veux lister tous les fichiers (dans le repertoire et sous repertoires) trié avec celui qui a été mofié en dernier en haut de la liste . Cela pour comparer a intervale régulier afin de listé les modifs (et envoyer un mail) dans des repertoires .Par contre en modifian a peine ta commande j'ai pu faire bien mieu que ce que je faisais car je fait d'une pierre 2 coups. Grace à ton intervention non seulemnt j'ai ce que je voulaisde facon plus propre il me semble, mais en plus ca régle mon problème de formatage du texte pour mon futur mail (enfin teste encore a faire). Donc ca:
PS C:\dev&gt; get-childitem -Recurse |Where-Object {($_.PSIsContainer -eq 0)} | sort-object -descending -property lastWrite
time |`select-object lastwritetime, length , name | format-table -auto
ca me donne:
LastWriteTime Length Name

----
18/01/2008 14:23:27 0 aa.txt
18/01/2008 14:08:08 2167 avc2mailfic.ps1
17/01/2008 15:48:26 27 azertyuip.txt
17/01/2008 10:18:21 39 a la racine1.txt
17/01/2008 10:10:40 762 a.txt
16/01/2008 16:08:02 1851 avc2.ps1
16/01/2008 13:09:14 4704 avoir.txt

Excatement ce que je voulais dans l'idéal . Et puis ca me donne des idées pour mon compare qui vien ensuite . Seul souci qui me reste a ce sujet c'est comment remplacé effcicacement mon findstr dans le cas de depart pourquoi ne triais t'il pas l'afficage de la sortie et comment faire quand le cas se présentera ce qui arrive souvent .
Derniere news j'arrive plus a comparer les 2 variales avant est apres (2 fois la commade ci dessus apres mif sur un ou plusieurs fichier???) je cherche pourquoi , il n'y plus d'objet a la sortie de la comparaison mais ca:
InputObject SideIndicato

Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Donc inutilisable .<br><br>Message édité par: sonic31, à: 18/01/08 15:35

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

Plus d'informations
il y a 13 ans 3 mois #1513 par TIti
Réponse de TIti sur le sujet Re:findstr vs select-string
Oulalalala,

Tu peux détailler un peu plus ?
Parce que là ... je ne comprends vraiment plus ce que tu veux ...!??

Seul souci qui me reste a ce sujet c'est comment remplacé effcicacement mon findstr dans le cas de depart pourquoi ne triais t'il pas l'afficage de la sortie et comment faire quand le cas se présentera ce qui arrive souvent .
Derniere news j'arrive plus a comparer les 2 variales avant est apres (2 fois la commade ci dessus apres mif sur un ou plusieurs fichier???) je cherche pourquoi , il n'y plus d'objet a la sortie de la comparaison


Béru

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

Plus d'informations
il y a 13 ans 3 mois #1514 par sonic
Réponse de sonic sur le sujet Re:findstr vs select-string
Oui en effet je vais essayé d'etre plus clair.
Je veux envoyer par mail toutes modifications d'un repertoire et de ses sous repertoires . Pour cela je prend une photos avant avec :PS C:\dev&gt; $avant=get-childitem -Recurse |Where-Object {($_.PSIsContainer -eq 0)} | sort-object -descending -property lastWritetime |`select-object lastwritetime,length,name | format-table -auto
Ensuite je modifie un fichier (pour test) ou j'ensupprime/ajoute 1 et je fait :
PS C:\dev&gt; $apres=get-childitem -Recurse |Where-Object {($_.PSIsContainer -eq 0)} | sort-object -descending -property lastWritetime |`select-object lastwritetime,length,name | format-table -auto pour prendre une image apres les modif.
Ca fonctionne au poil semble t'il , mes variables son bien remplies.
Ensuite je comptais faire :PS C:\dev&gt; compare-object $avant -differenceobject $apres
Ca fonctionnais avant la modif et maintenant ca me donne le resultat ci dessous:
InputObject SideIndicator

Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Microsoft.PowerShell.Commands.Internal.Format.FormatEntr... &lt;=
Ce texte n'est meme pas dans les variables !!!! Je comprend pas mais je cherche . Ai je été plus clair ?<br><br>Message édité par: sonic31, à: 18/01/08 16:20

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

Plus d'informations
il y a 13 ans 3 mois #1515 par TIti
Réponse de TIti sur le sujet Re:findstr vs select-string
Ok, je comprends.

Je n'utilise jamais le compare-object mais le message que tu reçois n'est pas un message d'erreur.
C'est bien le résultat de la commande compare-object.

The result of the comparison indicates whether a property value appeared only in the object from the Reference set
(indicated by the &lt;= symbol), only in the object from the Difference set (indicated by the =&gt; symbol) or, if the In
cludeEqual parameter is specified, in both objects (indicated by the == symbol).


Et si je comprends bien, tu cherches à récuperer les lignes ajoutées ou retirées ?
C'est ça ??
Béru

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

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