2017-09-13 1 views
1

Ich habe eine harte Zeit mit Copy-item zum Kopieren von Dateien (nur) rekursiv mit einer bestimmten Erweiterung (*. Txt) ohne die Verzeichnisstruktur. Kann mir bitte jemand eine Hand geben? Ich habe die gci mit -recurse verwendet und die Ausgabe an copy-item weitergeleitet, es gibt einen Fehler, der besagt, dass die Eingabe nicht korrekt ist. Get-ChildItem -Path $source -include "*name*.txt" -recurse | Copy-Item $source $destkopieren Sie Dateien nur nicht Verzeichnisstruktur mit Powershell

+0

Wie Sie tun Möchten Sie Dateinamen-Kollisionen behandeln? –

+0

Das Zielverzeichnis ist leer. –

+0

Ich mache mir keine Sorgen über die wiederholten Dateinamen, ich hatte bereits den vollständigen Pfad und Dateinamen in eine .csv –

Antwort

0

Verwenden Sie -datei nur für die Datei und nicht für das Verzeichnis. Copy-Element in das Rohr müssen nur Zielpfad ... -force wenn doublon Datei

versuchen Sie dies:

gci $source -file -include "*name*.txt" -recurse | copy-item -Destination $dest -Force 

wenn Sie doublon Sie dies versuchen:

$source="C:\temp\Release" 
$dest="c:\temp\x" 
gci $source -file -include "*name*.txt" -recurse | group Name | %{ 

    for ($i = 0; $i -lt $_.Count; $i++) 
    { 
    if ($_.Count -gt 1) 
    { 
     $destination="{0}\{1}_{2}" -f $dest, $i, $_.Group[$i].Name 
    } 
    else 
    { 
     $destination="{0}\{1}" -f $dest, $_.Group[$i].Name 
    } 

    copy-item $_.Group[$i].FullName $destination -WhatIf -Force 

    } 

} 
+0

Danke @ Esperento57. Es war hilfreich, aber doppelte Dateinamen wurden ignoriert. Gibt es eine Möglichkeit, dies zu lösen? –

+0

Sieh meinen Beitrag für doublon;) – Esperento57

+0

Hey, Esperento57. Es kopiert die Dateien nicht, obwohl ich die -whatif-Spur sehen kann. Danke, aber Mann. –

Verwandte Themen