Ich habe ein Powershell-Skript, das Dateien von $source
nach kopiert $dest
und einige Dateitypen ausschließt. Es schließt meine CSV-Dateien und web.config-Dateien gut aus, aber es schließt den Inhalt des Protokollordners nicht aus. Dies ist mein Skript. Wie lautet die richtige Syntax, um den Inhalt der Dateien auszuschließen, nicht jedoch den Log
Ordner selbst?
$exclude = @('Thumbs.db','*-Log.csv','web.config','Logs/*')
Get-ChildItem $source -Recurse -Exclude $exclude | Copy-Item -Destination {Join-Path $dest $_.FullName.Substring($source.length)}
powershell
Guanom
quelle
quelle
where {$directory -notcontains $_.DirectoryName}
subtil ist und die Verzeichnisnameneigenschaft des angegebenen Eintrags mit der Liste im Verzeichnis $ übereinstimmt. Dies bedeutet, dass nur exakte Einträge auf diese Weise funktionieren. Wenn ich eine Pfadkomponente (wie bin) ausschließen möchte, gibt es keine Methode dafür, es sei denn, ich liste jeden vollständigen Pfad auf, den ich ausschließen möchte (dh c: \ temp \ bin, c: \ bin, C: \ bin \ temp)Sie können Ihre eigene rekursive Kopierfunktion erstellen.
quelle