Nur bestimmte Dateien auch aus Unterverzeichnissen kopieren
Hallo zusammen,
ich bin auf der Suche nach dem passenen Batch-Code, der folgenden Aufgabe übernimmt.
Ich habe das Verzeichnis "Verein", in dem sind wiederum viele Unterverzeichnisse. Jetzt möchte ich alle PDF-Dateien, deren Name mit "A19" beginnen aus den Unterverzeichnissen von Verein (im Ordner "Verein" selbst sind keine Dateien, nur weitere Unterordner) in den Ordner "Archiv" kopieren (nicht verschieben). Die Ordnerstruktur soll dabei nicht übernommen werden, so dass in dem Ordner Archiv nur die PDF-DAteien liegen, die mit "A19" beginnen.
Ich habe es hiermit versucht, aber es passiert nichts.
SET Startverz=S:\Verein\Saison
SET Zielverz=S:\Verein\Archiv
FOR /R "%Startverz%" %%I IN (A19*.pdf) DO xcopy "%%I" %Zielverz% /Y /D
Was mach ich falsch? Wer kann mir helfen?
Besten Dank für eure Hilfe
Bea
ich bin auf der Suche nach dem passenen Batch-Code, der folgenden Aufgabe übernimmt.
Ich habe das Verzeichnis "Verein", in dem sind wiederum viele Unterverzeichnisse. Jetzt möchte ich alle PDF-Dateien, deren Name mit "A19" beginnen aus den Unterverzeichnissen von Verein (im Ordner "Verein" selbst sind keine Dateien, nur weitere Unterordner) in den Ordner "Archiv" kopieren (nicht verschieben). Die Ordnerstruktur soll dabei nicht übernommen werden, so dass in dem Ordner Archiv nur die PDF-DAteien liegen, die mit "A19" beginnen.
Ich habe es hiermit versucht, aber es passiert nichts.
SET Startverz=S:\Verein\Saison
SET Zielverz=S:\Verein\Archiv
FOR /R "%Startverz%" %%I IN (A19*.pdf) DO xcopy "%%I" %Zielverz% /Y /D
Was mach ich falsch? Wer kann mir helfen?
Besten Dank für eure Hilfe
Bea
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 498180
Url: https://administrator.de/forum/nur-bestimmte-dateien-auch-aus-unterverzeichnissen-kopieren-498180.html
Ausgedruckt am: 16.05.2025 um 19:05 Uhr
11 Kommentare
Neuester Kommentar
Hallo Bea,
kann dir leider nur mit PowerShell helfen, da mein Batch wissen eingerostet ist.
Vielleicht hilft dir ja dieser Code:
Grüße
Somebody
kann dir leider nur mit PowerShell helfen, da mein Batch wissen eingerostet ist.
Vielleicht hilft dir ja dieser Code:
$Path = "S:\Verein\Saison"
$Files = Get-ChildItem -Path $Path\A19*.pdf
$ServerPath ="S:\Verein\Archiv"
foreach($File in $Files){
Copy-Item $Path\$NewName $ServerPath
}
Grüße
Somebody
Moin,
Unter Windows 7
Start-Knopf drücken -> Alle Programme -> Zubehör -> Powershell -> Powershell anklicken.
Oder einfach in der Suche "Powershell" eingeben. Die Powershell ist der Nachfolger der Kommandozeile.
<edit>Und zum Skripte die Powershell ISE benutzen (erstmal). Bitte auch das beachten, wenn es denn ein Skript werden soll:
https://www.windowspro.de/script/ausfuehrungsrichtlinien-executionpolicy ... </edit>
Liebe Grüße
Erik
Zitat von @blucas:
Moin Erik und Somebody,
besten Dank für die schnellen Antworten. Jetzt nur noch eine Nachfrage:
Wie erstelle ich eine Powershell?
Moin Erik und Somebody,
besten Dank für die schnellen Antworten. Jetzt nur noch eine Nachfrage:
Wie erstelle ich eine Powershell?
Unter Windows 7
Start-Knopf drücken -> Alle Programme -> Zubehör -> Powershell -> Powershell anklicken.
Oder einfach in der Suche "Powershell" eingeben. Die Powershell ist der Nachfolger der Kommandozeile.
<edit>Und zum Skripte die Powershell ISE benutzen (erstmal). Bitte auch das beachten, wenn es denn ein Skript werden soll:
https://www.windowspro.de/script/ausfuehrungsrichtlinien-executionpolicy ... </edit>
Liebe Grüße
Erik

Zitat von @erikro:
Moin,
nimm die Powershell:
Der Code von @erikro ist fehlerhaft, er hat in der Foreach Schleife die quelle vergessen...ne Schleife ist hier aber überflüssigMoin,
nimm die Powershell:
get-childitem -path S:\Verein\A19*.pdf -recurse | %{copy-item -destination s:\verein\archiv}
get-childitem -path "S:\Verein\A19*.pdf" -recurse -file | copy-item -destination "s:\verein\archiv" -Force -verbose
Die Batch geht aber auch so
@echo off &setlocal
SET "Startverz=S:\Verein\Saison"
SET "Zielverz=S:\Verein\Archiv"
FOR /R "%Startverz%" %%a IN ("A19*.pdf") DO copy /y "%%~a" "%Zielverz%"
Zitat von @140913:
Zitat von @erikro:
Moin,
nimm die Powershell:
Der Code von @erikro ist fehlerhaft, er hat in der Foreach Schleife die quelle vergessen...ne Schleife ist hier aber überflüssigMoin,
nimm die Powershell:
get-childitem -path S:\Verein\A19*.pdf -recurse | %{copy-item -destination s:\verein\archiv}
Oooooooops. Nee, ich hab nicht die Quelle vergessen, sondern die Schleife zu löschen.