Funktioniert der Parameter -Filter oder -Include bei Verwendung von Powershell 3.0 für jeden Benutzer? Ich habe beide folgenden Befehle ausprobiert:
%Vor%und
%Vor%Tatsächlich wird für die Option -Filter ein leerer Ordner "temp" in c: \ TEMP2 erstellt. Ich weiß, dass der folgende Befehl funktioniert:
%Vor%Aber wundern Sie sich nur, wenn jemand schon einmal auf dieses Problem gestoßen ist?
Dies liegt daran, dass das Element, das Sie in das Kopierelement eingeben, der Ordner ist und nicht die Dateien im Ordner.
Wenn Sie Folgendes ausführen:
%Vor%Sie sagen: Element kopieren, wobei der Pfad der Ordner c: \ temp ist. Das einzige Element, das zum Kopieren von ausgewählt wurde, ist das Verzeichnis c: \ temp. Dann sagen wir nur: - Schließen Sie Elemente ein, die "* .txt" entsprechen. Da das einzige Element (der Ordner "temp") nicht mit dem Muster übereinstimmt, machen wir nichts.
Um dies zu beweisen, ändern wir den Include-Filter in "temp" und führen ihn erneut aus:
%Vor%Voilà! Im Zielordner haben wir einen neuen leeren Ordner: c: \ temp2 \ temp. (Es ist leer, weil das einzige Element, das wir ihm zu kopieren befohlen haben, der Ordner "temp" war, wir haben ihm nichts anderes gesagt)
Also für Teil 2, Wenn Sie ausführen:
%Vor%Es funktioniert, weil Sie sagen, mit der * .txt, durchlaufen Sie alle Elemente im Verzeichnis, die dem Muster * .txt entsprechen, füttern Sie diese Pfade zu Copy-Item, und kopieren Sie das Ziel.
Um dies zu beweisen, ändern wir es und geben einen Include-Filter an:
%Vor%Wir sagen hier, alle Elemente im Ordner c: \ temp holen (dh wir erhalten alle Elemente innerhalb des Ordners c: \ temp und nicht das Ordner c: \ temp), filtern Sie sie, indem Sie nur Elemente einschließen, die "* .txt" entsprechen, und kopieren Sie sie an das Ziel.
Tags und Links powershell cmdlets powershell-v3.0 copy-item