Question
trouver les ADS
- FoFo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 10
- Remerciements reçus 0
je galere sur un truc tout con..
lister tout les fichiers qui ont un ADS
pour un fichier unique c'est ok..
[code:1]get-item file.txt -stream *[/code:1]
mais je veux le faire d'un bloque sur tous les fichiers du disque dur
mon idée ete de faire un genre de
[code:1]get-childitem -recurse | get-item $_ -stream *[/code:1]
mais cela ne fonctionne pas..et cela afficherai trop de choses..
j'ai pensé a un
[code:1] if ((get-item $_ -stream *).count -gt 1)
{
$_
}
[/code:1]
fonctionne pas non plus..
quelqu'un aurait une idée pour un truc optimiser sans mettre tout les fichiers dans une variable?
merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
essaie ceci :
[code:1]
dir 'C:\Users\Laurent\Downloads' -rec|
Where { -not $_.PSIsContainer -and @(get-item -LiteralPath $_.Fullname -stream *).count -gt 1 }
[/code:1]
Il est préférable d'utiliser le paramètre Literalpath sinon tu peux rencontrer l'erreur suivante :
Cas pour les fichiers contenant les caractères ''.<br><br>Message édité par: Laurent Dardenne, à: 28/08/13 10:55Get-Item : Impossible de trouver un paramètre correspondant au nom « stream ».
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
Quelques réflexions autour de ce sujet, pour notre culture.
Il est simple de comprendre à quoi peut servir le paramétre '-Stream' sur le Cmdlet 'Get-Item' :
[code:1]
PS> Get-Help get-item -parameter stream
Get-Help : Aucun paramètre ne correspond aux critères stream.
Au niveau de C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Pscx\Modules\GetHelp\Pscx.GetHelp.psm1 : 479 Caractère
: 33
+ $scriptCmd = { & <<<< $wrappedCmd @PSBoundParameters }
+ CategoryInfo : InvalidArgument: (System.Manageme...CommandHelpInfo:«»ProviderCommandHelpInfo) [Get-Help],
PSArgumentException
+ FullyQualifiedErrorId : NoParmsFound,Microsoft.PowerShell.Commands.GetHelpCommand
[/code:1]
(Sous PowerShell V2... Pour la V3, je n'ai pas encore testé).
Une réponse en ligne .
Applies To: Windows PowerShell 2.0, Windows PowerShell 3.0
Puis :
Stream is a dynamic parameter that the FileSystem provider adds to the Get-Item cmdlet. This parameter works only in file system drives.
This parameter is introduced in Windows PowerShell 3.0.
Je ne comprends pas comment on peut comprendre, qu'on soit débutant ou pas ; Il s'agit peut être du fameux jeu identifié par Laurent : \"Allez, cherche !\".
Si nous sommes ici en PowerShell version 3, il est à noter que nous pouvons également filtrer uniquement sur les fichiers (et donc exclure les répertoires) via le paramétre '-File' de Get-ChildItem.
Cela évite ensuite d'utiliser le filtre '-not $_.PSIsContainer' au niveau du 'Where-Object'.
@ +
Matthew BETTON
Connexion ou Créer un compte pour participer à la conversation.
- FoFo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 10
- Remerciements reçus 0
t'assures ! j'ai lu un peu tes tutos tu sembles avoir un sacré niveau tu fais quoi comme job?
en tout cas je suis impressionné du résultat on peut facilement voir d'où vient un fichier comme ca
et on peut même trouver quelques surprises ...
et il serait possible de pousser encore plus loin la recherche en affichant uniquement les fichiers qui ont le 2eme Stream diffèrent de Zone.Identifier ? je pense pas que ca soit possible de cumuler les pipes pour arriver a ce résultat ?
je viens de voir que dropbox \"tag\" tout leurs fichiers semblerait il
Connexion ou Créer un compte pour participer à la conversation.
- FoFo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 10
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Pas plus que d'autres.t'assures !
FoFo écrit:
Beaucoup de temps passé à étudier le sujet, au final il en reste qq chose.j'ai lu un peu tes tutos tu sembles avoir un sacré niveau
FoFo écrit:
Conception et développement logiciel, ces derniers temps dans l'infra et l'automatisation de tâches sur les produits MS.tu fais quoi comme job?
FoFo écrit:
Essaie !je pense pas que ca soit possible de cumuler les pipes pour arriver a ce résultat ?
FoFo écrit:
j'avais pas compris que c'était une reponse a la premiere lecture
Effectivement on peut simplifier le code. Codant le plus souvent sur PS v2 je ne tiens pas compte de ces évolutions, sauf si je cible une version spécifique. Par exemple Windows 8 et que je suis assuré que ce ne sera que du Windows 8.
En même temps Matthew a raison puisque j'ai testé le code proposé sous Windows 8
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- trouver les ADS