Powershell Get-ChildItem -Filter fonctionne différemment à la clause Where avec la même valeur

J'ai un dossier sur un serveur appelé MyFolder. Il y a d'autres dossiers appelés MyFolder.1, MyFolder.2, MyFolder.3 etc.

Si je lance:

gci C:\Sample | ? { $_.Name -like "MyFolder.*" }

- Je obtenir le résultat attendu:

    Directory: C:\Sample


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
d----        16/10/2012     12:16            MyFolder.1                                                                
d----        16/10/2012     12:16            MyFolder.2                                                                
d----        16/10/2012     12:16            MyFolder.3  

Cependant, si je lance:

gci C:\Sample -Filter "MyFolder.*"

J'obtiens:

    Directory: C:\Sample


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
d----        16/10/2012     12:16            MyFolder                                                                  
d----        16/10/2012     12:16            MyFolder.1                                                                
d----        16/10/2012     12:16            MyFolder.2                                                                
d----        16/10/2012     12:16            MyFolder.3                                                                

Je suis confus sur la façon MyFolder est inclus dans la sortie. Je m'attends à la sortie d'être le même.

La l'aide en ligne souligne que la syntaxe du filtre est basé sur le fournisseur, mais je ne suis pas sûr de ce fournisseur est utilisé dans cette instance.

Me manque une pièce fondamentale de la connaissance? J'ai tenté de passer une regex chaîne dans le filtre d'e.g "MyFolder\.*" mais cela revient tout simplement à rien. Je suis sûr que je suis absent quelque chose de simple.

Je suis en cours d'exécution de Powershell version 2.

Résolution

Grâce à Romain Kouzmine pour souligner les différences de jokers. La suite donne le résultat attendu:

gci C:\Sample\MyFolder.*

Je vais utiliser cette syntaxe pour plus de facilité dans l'avenir pour réduire le bruit dans le code.

source d'informationauteur Kieranties