Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch, Win 7, nur Daten aus Unterordnern verschieben mit bestimmter Dateiendung

Frage Entwicklung Batch & Shell

Mitglied: Loonixx

Loonixx (Level 1) - Jetzt verbinden

06.02.2014 um 17:41 Uhr, 1815 Aufrufe, 4 Kommentare, 1 Danke

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ß
Mitglied: colinardo
06.02.2014, aktualisiert um 19:04 Uhr
Hallo Loonixx,
mögliches VBS-Script
(Pfade in Zeile 2 und 4 noch anpassen (ohne Backslash am Ende))
VBS
01.
'========Variablen für Anpassung ======= 
02.
'Ordner in dem die Dateien liegen 
03.
STARTFOLDER = "C:\Quelle" 
04.
'Ordner in den die Dateien kopiert werden sollen 
05.
ZIELORDNER = "C:\Ziel" 
06.
'Erweiterung der Dateien 
07.
FILETYPE = "jpg" 
08.
'======================================= 
09.
Set fso = WScript.CreateObject("Scripting.Filesystemobject") 
10.
Level = 0 
11.
Set PROCESSFOLDER = fso.GetFolder(STARTFOLDER) 
12.
parseFolders PROCESSFOLDER, True 
13.
Function parseFolders(strFldr,boolRecursion) 
14.
	If Level > 0 Then 
15.
		For each file in strFldr.Files 
16.
			If LCase(fso.GetExtensionName(file.Name)) = LCase(FILETYPE) Then 
17.
				file.Move ZIELORDNER & "\" 
18.
			End If	 
19.
		Next 
20.
	End If 
21.
	 
22.
	If boolRecursion Then 
23.
		For Each subFolder in strFldr.SubFolders 
24.
			Level = Level + 1 
25.
			parseFolders subFolder, True 
26.
		Next 
27.
	End If 
28.
End Function 
29.
Set fso = Nothing 
30.
wscript.echo "Fertig kopiert!"
oder
Powershell
01.
$quelle = "C:\Quelle" 
02.
$ziel = "C:\Ziel" 
03.
dir $quelle | ?{$_.PSIsContainer} | %{dir "$($_.FullName)\*.jpg" -Recurse | %{Move-item $_.FullName $ziel -Force -ErrorAction SilentlyContinue}}
Batch überlass ich mal den Kollegen ....
Grüße Uwe
Bitte warten ..
Mitglied: bastla
LÖSUNG 06.02.2014, aktualisiert 07.02.2014
Hallo Loonixx und willkommen im Forum!

Hier dann noch ein (ungetesteter) Batch-Ansatz:
01.
@echo off & setlocal 
02.
set "Hauptordner=D:\Bilder" 
03.
set "Zielordner_neu=D:\Bilder_neu" 
04.
 
05.
md "%Zielordner_neu%" 2>nul 
06.
for /d %%i in ("%Hauptordner%\*") do for /f "delims=" %%a in ('dir /s/b/a-d "%%i\*.jpg"') do echo move "%%a" "%Zielordner_neu%\" 
07.
pause
Wegen des "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
Bitte warten ..
Mitglied: Endoro
07.02.2014 um 11:33 Uhr
Hey,

noch ein Vorschlag:
01.
for /d /r "Hauptordner" %%a in (*) do echo move "%%~a\*.jpg" "Zielordner"
Bei Namensgleichheit wird ohne Rückfrage überschrieben.
Gruss.
Bitte warten ..
Mitglied: Loonixx
07.02.2014 um 12:39 Uhr
Danke, es funktioniert, schönes Wochenende an euch.
Bitte warten ..
Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...