De Scripts PowerShell Get - ChildItem

J'ai écrit un script qui sera utilisé pour l'archivage des fichiers journaux à partir d'un serveur. Je suis en assez bonne forme avec tout mais ressemble ou pas de Get-ChildItem...

La question que je semble avoir, c'est que lorsque Get-ChildItem n'est pas récursive et -Include est présent avec un seul filtre, il est ignoré! Ou, je suis en train de faire quelque chose de mal (probablement).

J'ai nettoyé à la sortie un peu...

PS C:\foo> Get-childitem -path "c:\foo"

Name
----
bar1.doc
bar2.doc
bar3.doc
foo1.txt
foo2.txt
foo3.txt

PS C:\foo> Get-childitem -path "c:\foo" -Include *.txt
PS C:\foo> Get-childitem -path "c:\foo" -Include *.txt -recurse

Name
----
foo1.txt
foo2.txt
foo3.txt

Sooo??? J'ai eu un fantastique où tout ce que j'avais à faire était de branche à un chemin d'accès au script qui n'ont pas la profondeur de l'interrupteur. (En passant, est-il possible de variable appliquer des paramètres afin d'éviter la duplication de code chemins où la seule variabilité des paramètres à une applet de commande?)

De toute façon, voici mon script pour l'exhaustivité, en plus de mon problème avec Get-ChildItem.

function MoveFiles()
{
    Get-ChildItem -Path $source -Recurse -Include $ext | where { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } | foreach {
        $SourceDirectory = $_.DirectoryName;
        $SourceFile = $_.FullName;
        $DestinationDirectory = $SourceDirectory -replace [regex]::Escape($source), $dest;
        $DestionationFile = $SourceFile -replace [regex]::Escape($source), $dest;

        if ($WhatIf){
            #Write-Host $SourceDirectory;
            #Write-Host $DestinationDirectory;
            Write-Host $SourceFile -NoNewline
            Write-Host " moved to " -NoNewline
            Write-Host $DestionationFile;
        }
        else{
            if ($DestinationDirectory)
            {
                if ( -not [System.IO.Directory]::Exists($DestinationDirectory)) {
                    [void](New-Item $DestinationDirectory -ItemType directory -Force);
                }
                Move-Item -Path $SourceFile -Destination $DestionationFile -Force;
            }
        }
    }
}
Je viens juste de voir cette après la publication en cliquant sur mon Get-ChildItem tag. Comme l'OP, ce filtre est spécifique au fournisseur et je suis déjà en train de l'utiliser pour autre chose. Je suppose que je suis juste un prolongement de cette question. stackoverflow.com/questions/790796/...
Eh bien, ce est un comportement documenté et j'ai besoin d'RTFM. Je vous jure j'ai fait une, mais je me suis éclipsée. Merci à tous!

OriginalL'auteur Bennett Dill | 2009-09-02