Batch, Win 7, nur Daten aus Unterordnern verschieben mit bestimmter Dateiendung
Moinsen,
ich habe folgende Konstellation und benötige einen kleinen Tipp wie ich mein Problem lösen kann.
Ich habe einen Hauptordner in dem sich viele Bilder(.jpg) befinden, diese sollen dort auch bleiben. Neben den vielen Bildern gibt es aber auch noch unterschiedlich viele Unterordner in denen sich auch wieder Bilder(.jpg) befinden. Ich würde ganz gerne via Batch alle Bilder(.jpg) die sich in dem Unterordern befinden in einen neuen Zielordner verschieben. Mit meiner Lösung verschiebt mir er mir leider alle Bilder und nicht nur die aus den Unterordern.
Ich hoffe ich habe mich deutlich ausgedrückt und jemand hat einen Tipp für mich.
Gruß
ich habe folgende Konstellation und benötige einen kleinen Tipp wie ich mein Problem lösen kann.
Ich habe einen Hauptordner in dem sich viele Bilder(.jpg) befinden, diese sollen dort auch bleiben. Neben den vielen Bildern gibt es aber auch noch unterschiedlich viele Unterordner in denen sich auch wieder Bilder(.jpg) befinden. Ich würde ganz gerne via Batch alle Bilder(.jpg) die sich in dem Unterordern befinden in einen neuen Zielordner verschieben. Mit meiner Lösung verschiebt mir er mir leider alle Bilder und nicht nur die aus den Unterordern.
Ich hoffe ich habe mich deutlich ausgedrückt und jemand hat einen Tipp für mich.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 228954
Url: https://administrator.de/forum/batch-win-7-nur-daten-aus-unterordnern-verschieben-mit-bestimmter-dateiendung-228954.html
Ausgedruckt am: 14.05.2025 um 09:05 Uhr
4 Kommentare
Neuester Kommentar
Hallo Loonixx,
mögliches VBS-Script
(Pfade in Zeile 2 und 4 noch anpassen (ohne Backslash am Ende))
oder
Batch überlass ich mal den Kollegen ....
Grüße Uwe
mögliches VBS-Script
(Pfade in Zeile 2 und 4 noch anpassen (ohne Backslash am Ende))
VBS
'========Variablen für Anpassung =======
'Ordner in dem die Dateien liegen
STARTFOLDER = "C:\Quelle"
'Ordner in den die Dateien kopiert werden sollen
ZIELORDNER = "C:\Ziel"
'Erweiterung der Dateien
FILETYPE = "jpg"
'=======================================
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Level = 0
Set PROCESSFOLDER = fso.GetFolder(STARTFOLDER)
parseFolders PROCESSFOLDER, True
Function parseFolders(strFldr,boolRecursion)
If Level > 0 Then
For each file in strFldr.Files
If LCase(fso.GetExtensionName(file.Name)) = LCase(FILETYPE) Then
file.Move ZIELORDNER & "\"
End If
Next
End If
If boolRecursion Then
For Each subFolder in strFldr.SubFolders
Level = Level + 1
parseFolders subFolder, True
Next
End If
End Function
Set fso = Nothing
wscript.echo "Fertig kopiert!"
Powershell
$quelle = "C:\Quelle"
$ziel = "C:\Ziel"
dir $quelle | ?{$_.PSIsContainer} | %{dir "$($_.FullName)\*.jpg" -Recurse | %{Move-item $_.FullName $ziel -Force -ErrorAction SilentlyContinue}}
Batch überlass ich mal den Kollegen ....
Grüße Uwe
Hallo Loonixx und willkommen im Forum!
Hier dann noch ein (ungetesteter) Batch-Ansatz:
Wegen des "
Achtung: Gleichnamige Bilder im Zielordner werden kommentarlos überschrieben!
Grüße
bastla
Hier dann noch ein (ungetesteter) Batch-Ansatz:
@echo off & setlocal
set "Hauptordner=D:\Bilder"
set "Zielordner_neu=D:\Bilder_neu"
md "%Zielordner_neu%" 2>nul
for /d %%i in ("%Hauptordner%\*") do for /f "delims=" %%a in ('dir /s/b/a-d "%%i\*.jpg"') do echo move "%%a" "%Zielordner_neu%\"
pause
echo
" vor dem "move
" werden die Verschiebe-Befehle nur angezeigt, aber nicht ausgeführt - damit lässt es sich entspannter testen. Achtung: Gleichnamige Bilder im Zielordner werden kommentarlos überschrieben!
Grüße
bastla