37414
Jan 20, 2014, updated at 12:41:17 (UTC)
2767
8
0
Batchdatei zum kopieren bestimmter Dateien in ein bestimmtes Unterverzeichnis
Guten Tag,
ich habe ein Hauptverzeichnis (HV), in dem 250 Unterverzeichnisse mit unterschiedlichen Namen liegen.
Manche dieser 250 Unterverzeichnisse enthalten ein weiteres Unterverzeichnis (AB3).
Nun würde ich gerne eine Abfrage erstellen, wie folgt:
Wenn in den Unterverzeichnissen von "HV" jeweils ein Verzeichnis "AB3" existiert, sollen alle Dateien mit der Dateiendung ".exe" in das Verzeichnis "AB3" verschoben werden.
Ich denke, verschieben wäre die richtige Funktion, da diese EXE-Dateien später NUR noch im Verzeichnis "AB3" existieren sollen und nicht mehr im jeweiligen Verzeichnis darüber.
Beispiel:
HV\Banane\AB3
HV\Apfel\
HV\Birne\
HV\Erdbeere\AB3
HV\Himbeere\AB3
In diesem Beispiel müßten also nur Dateien im ersten und den beiden letzten Verzeichnissen verschoben werden, da dort jeweils ein Verzeichnis "AB3" existiert.
Danke und schöne Grüße,
imebro
ich habe ein Hauptverzeichnis (HV), in dem 250 Unterverzeichnisse mit unterschiedlichen Namen liegen.
Manche dieser 250 Unterverzeichnisse enthalten ein weiteres Unterverzeichnis (AB3).
Nun würde ich gerne eine Abfrage erstellen, wie folgt:
Wenn in den Unterverzeichnissen von "HV" jeweils ein Verzeichnis "AB3" existiert, sollen alle Dateien mit der Dateiendung ".exe" in das Verzeichnis "AB3" verschoben werden.
Ich denke, verschieben wäre die richtige Funktion, da diese EXE-Dateien später NUR noch im Verzeichnis "AB3" existieren sollen und nicht mehr im jeweiligen Verzeichnis darüber.
Beispiel:
HV\Banane\AB3
HV\Apfel\
HV\Birne\
HV\Erdbeere\AB3
HV\Himbeere\AB3
In diesem Beispiel müßten also nur Dateien im ersten und den beiden letzten Verzeichnissen verschoben werden, da dort jeweils ein Verzeichnis "AB3" existiert.
Danke und schöne Grüße,
imebro
Please also mark the comments that contributed to the solution of the article
Content-Key: 227131
Url: https://administrator.de/contentid/227131
Printed on: May 8, 2024 at 03:05 o'clock
8 Comments
Latest comment
Hallo imebro,
könntest du so mit Batch machen, wenn die EXE-Dateien jeweils in den Unterverzeichnen des HV liegen: HV\Banane\*.exe:
und hier noch das selbe mit Powershell falls das benötigt wird:
Grüße Uwe
könntest du so mit Batch machen, wenn die EXE-Dateien jeweils in den Unterverzeichnen des HV liegen: HV\Banane\*.exe:
@echo off
for /D %%a in ("C:\HV\*") do @(
if exist "%%a\AB3" (move "%%a\*.exe" "%%a\AB3\")
)
$hv = "C:\HV"
gci $hv | ?{$_.PSIsContainer -and test-path "$($_.FullName)\AB3"} | %{move-item "$($_.FullName)\*.exe" "$($_.FullName)\AB3" }
wenn nur Fehler geloggt werden sollen machst du es so in der Move-Zeile
Mit etwas mehr Info zum Verzeichnis wo der Fehler aufgetreten ist (Die Fehlermeldungen von Move sind nämlich sehr spärlich):
Grüße Uwe
if exist "%%a\AB3" (move "%%a\*.exe" "%%a\AB3\" 2>>"C:\AB3Log.txt")
@echo off
for /D %%a in ("C:\HV\*") do @(
if exist "%%a\AB3" (
echo "Verarbeite Verzeichnis '%%a' >>"C:\AB3Log.txt"
move "%%a\*.exe" "%%a\AB3\" 2>>"C:\AB3Log.txt"
)
)
Zitat von @37414:
Hat perfekt funktioniert und ich bin überrascht über die Geschwindigkeit.
Offenbar geht das verschieben per "move" extrem viel schneller, als wenn ich die Dateien kopiert und später im Überverzeichnis gelöscht hätte.
hierbei wird ja nur der Eintrag in der MFT der Festplatte geändert und keine Bits verschoben weil die Daten auf der selben Partition beiben deshalb so schnell.Hat perfekt funktioniert und ich bin überrascht über die Geschwindigkeit.
Offenbar geht das verschieben per "move" extrem viel schneller, als wenn ich die Dateien kopiert und später im Überverzeichnis gelöscht hätte.