Top-Themen

Aktuelle Themen (A bis Z)

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 Mit Batch Bilder aus Unterverzeichnissen verschieben und umbenennen

Mitglied: D3ld0C

D3ld0C (Level 1) - Jetzt verbinden

12.04.2013 um 10:32 Uhr, 2910 Aufrufe, 11 Kommentare

Hallo Zusammen,

ich habe ein Batch Problem und mich hier schon umgesehen, aber immernoch keine Lösung gefunden.
Deswegen wollte ich jetzt mal in einem neuen Beitrag euch um Hilfe bitten.

Es geht um folgendes,

eine Überwachungskamera sichert bei uns alle paar Minuten ein Bild ab.
Das Problem dabei ist das jedes Bild den gleichen Namen hat, es wird nur in einem extra Ordner geschoben.
Das sieht dann ungefähr so aus:

...\Kamera\000\123\E00000.jpg
...\Kamera\001\999\E00000.jpg
...\Kamera\010\666\E00000.jpg
.
.
.

Die Bilder sollen jetzt in einen neuen Ordner "Bilder" verschoben werden.
Bisher kam ich soweit, dass die Bilder verschoben, aber durch den gleichen Namen überschrieben werden, mit dieser For-Schleife:

For /F "Tokens=*" %%i in ('Dir /B /S "\\PC842\Kamera\10_12_15_128\test\*.jpg"') do Move /Y "%%~fi" "\\PC842\Kamera\Bilder"

Ich hatte es auch schon versucht, einen Zähler einzubauen der die Bilder automatisch umbenennt und nummeriert.
Zum Beispiel:

...\Kamera\Bilder\1.jpg
...\Kamera\Bilder\2.jpg

Am Ende hat er alle Bilder in 1.jpg umbenannt und beim verschieben wieder überschrieben.
Gut wäre auch noch, wenn die leeren Ordner, nachdem die Bilder verschoben sind, gelöscht werden.

Mittlerweile fällt mir nichts mehr ein als Batch Neuling.

Hoffe ich hab das einigermaßen verstädnlich rüber gebracht und hoffe mir kann einer helfen.
Mitglied: 64748
12.04.2013 um 12:39 Uhr
Hallo,

Wenn es nicht darauf ankommt, welches Bild welche Nummer bekommt bzw. wenn der Name egal ist, dann würde ich jedes Bild nach seinem Pfad benennen.
...\Kamera\000\123\E00000.jpg 
...\Kamera\001\999\E00000.jpg 
...\Kamera\010\666\E00000.jpg
wird dann
...\Kamera\000\123\E000-123.jpg 
...\Kamera\001\999\E001-999.jpg 
...\Kamera\010\666\E010-666.jpg
Dazu musst Du aus dem Pfad die beiden Verzeichnisse als Variablen extrahieren und dann das Bild umbenennen. Danach kannst Du alle Bilder ins gleiche Verzeichnis verschieben.

Vorteil ist, dass man nachher noch weiß, wo das Bild her ist.

Markus
Bitte warten ..
Mitglied: 64748
12.04.2013 um 12:58 Uhr
Jetzt hat es mich interessiert, wie ich sowas unter Linux machen kann:
01.
#!/bin/sh 
02.
for i in `find . -name E00000.jpg -type f` 
03.
do f=$(echo $i | cut -d '/' -f 2) 
04.
    g=$(echo $i | cut -d '/' -f 3) 
05.
    cp $i E$f-$g.jpg 
06.
done
Ausgeführt im Verzeichnis /Kamera/ kopiert es die umbenannten Bilder in genau dieses Verzeichnis.

Markus
Bitte warten ..
Mitglied: D3ld0C
12.04.2013 um 13:09 Uhr
Hallo Markus,

schonmal Danke für deine schnelle Antwort.

Die Idee gefällt mir, nur weiß ich nicht auf Anhieb, wie ich das realisieren soll.
Kannst du mir vielleicht ein Beispiel zeigen, wie das geht?

Gruß
Daniel
Bitte warten ..
Mitglied: 64748
12.04.2013 um 14:13 Uhr
Entweder machst Du das mit einem Linuxrechner oder unter Windows mit cygwin. Den obigen Code schreibst kopierst Du in eine Textdatei. Unter Linux wird die ausführbar gemacht
chmod +x skript.sh
wenn das Skript skript.sh heißt. Dann kopierst Du das Skript ins /Kamera/ Verzeichnis und führst es dort aus
./skript.sh
Das war's schon. Du findest (es dauert einige Sekunden) die Dateien im /Kamera/ Verzeichnis.

Man braucht kein Skript, man kann auch (erste Zeile weglassen) das Skript in die Shell eingeben (wie gesagt unter Linux) und einfach die Zeilenenden durch Semikolon ersetzten. So hab ich das hier gemacht.

Ich hab mir eine Ordnerstruktur angelegt: Verzeichnisse 01/ bis 10/ mit Unterverzeichnissen 03/ bis 33/ und jeweils darin eine Datei E00000.jpg. Das Ergebnis sieht so aus:
markus@samsung:~/test/kamera$ ls 
01/         E02-16.jpg  E04-08.jpg  E05-31.jpg  E07-23.jpg  E09-15.jpg 
02/         E02-17.jpg  E04-09.jpg  E05-32.jpg  E07-24.jpg  E09-16.jpg 
03/         E02-18.jpg  E04-10.jpg  E05-33.jpg  E07-25.jpg  E09-17.jpg 
04/         E02-19.jpg  E04-11.jpg  E06-03.jpg  E07-26.jpg  E09-18.jpg 
05/         E02-20.jpg  E04-12.jpg  E06-04.jpg  E07-27.jpg  E09-19.jpg 
06/         E02-21.jpg  E04-13.jpg  E06-05.jpg  E07-28.jpg  E09-20.jpg 
07/         E02-22.jpg  E04-14.jpg  E06-06.jpg  E07-29.jpg  E09-21.jpg 
08/         E02-23.jpg  E04-15.jpg  E06-07.jpg  E07-30.jpg  E09-22.jpg 
09/         E02-24.jpg  E04-16.jpg  E06-08.jpg  E07-31.jpg  E09-23.jpg 
10/         E02-25.jpg  E04-17.jpg  E06-09.jpg  E07-32.jpg  E09-24.jpg 
E01-03.jpg  E02-26.jpg  E04-18.jpg  E06-10.jpg  E07-33.jpg  E09-25.jpg 
E01-04.jpg  E02-27.jpg  E04-19.jpg  E06-11.jpg  E08-03.jpg  E09-26.jpg 
E01-05.jpg  E02-28.jpg  E04-20.jpg  E06-12.jpg  E08-04.jpg  E09-27.jpg 
E01-06.jpg  E02-29.jpg  E04-21.jpg  E06-13.jpg  E08-05.jpg  E09-28.jpg 
E01-07.jpg  E02-30.jpg  E04-22.jpg  E06-14.jpg  E08-06.jpg  E09-29.jpg 
E01-08.jpg  E02-31.jpg  E04-23.jpg  E06-15.jpg  E08-07.jpg  E09-30.jpg 
E01-09.jpg  E02-32.jpg  E04-24.jpg  E06-16.jpg  E08-08.jpg  E09-31.jpg 
E01-10.jpg  E02-33.jpg  E04-25.jpg  E06-17.jpg  E08-09.jpg  E09-32.jpg 
E01-11.jpg  E03-03.jpg  E04-26.jpg  E06-18.jpg  E08-10.jpg  E09-33.jpg 
E01-12.jpg  E03-04.jpg  E04-27.jpg  E06-19.jpg  E08-11.jpg  E10-03.jpg 
E01-13.jpg  E03-05.jpg  E04-28.jpg  E06-20.jpg  E08-12.jpg  E10-04.jpg 
E01-14.jpg  E03-06.jpg  E04-29.jpg  E06-21.jpg  E08-13.jpg  E10-05.jpg 
E01-15.jpg  E03-07.jpg  E04-30.jpg  E06-22.jpg  E08-14.jpg  E10-06.jpg 
E01-16.jpg  E03-08.jpg  E04-31.jpg  E06-23.jpg  E08-15.jpg  E10-07.jpg 
E01-17.jpg  E03-09.jpg  E04-32.jpg  E06-24.jpg  E08-16.jpg  E10-08.jpg 
E01-18.jpg  E03-10.jpg  E04-33.jpg  E06-25.jpg  E08-17.jpg  E10-09.jpg 
E01-19.jpg  E03-11.jpg  E05-03.jpg  E06-26.jpg  E08-18.jpg  E10-10.jpg 
E01-20.jpg  E03-12.jpg  E05-04.jpg  E06-27.jpg  E08-19.jpg  E10-11.jpg 
E01-21.jpg  E03-13.jpg  E05-05.jpg  E06-28.jpg  E08-20.jpg  E10-12.jpg 
E01-22.jpg  E03-14.jpg  E05-06.jpg  E06-29.jpg  E08-21.jpg  E10-13.jpg 
E01-23.jpg  E03-15.jpg  E05-07.jpg  E06-30.jpg  E08-22.jpg  E10-14.jpg 
E01-24.jpg  E03-16.jpg  E05-08.jpg  E06-31.jpg  E08-23.jpg  E10-15.jpg 
E01-25.jpg  E03-17.jpg  E05-09.jpg  E06-32.jpg  E08-24.jpg  E10-16.jpg 
E01-26.jpg  E03-18.jpg  E05-10.jpg  E06-33.jpg  E08-25.jpg  E10-17.jpg 
E01-27.jpg  E03-19.jpg  E05-11.jpg  E07-03.jpg  E08-26.jpg  E10-18.jpg 
E01-28.jpg  E03-20.jpg  E05-12.jpg  E07-04.jpg  E08-27.jpg  E10-19.jpg 
E01-29.jpg  E03-21.jpg  E05-13.jpg  E07-05.jpg  E08-28.jpg  E10-20.jpg 
E01-30.jpg  E03-22.jpg  E05-14.jpg  E07-06.jpg  E08-29.jpg  E10-21.jpg 
E01-31.jpg  E03-23.jpg  E05-15.jpg  E07-07.jpg  E08-30.jpg  E10-22.jpg 
E01-32.jpg  E03-24.jpg  E05-16.jpg  E07-08.jpg  E08-31.jpg  E10-23.jpg 
E01-33.jpg  E03-25.jpg  E05-17.jpg  E07-09.jpg  E08-32.jpg  E10-24.jpg 
E02-03.jpg  E03-26.jpg  E05-18.jpg  E07-10.jpg  E08-33.jpg  E10-25.jpg 
E02-04.jpg  E03-27.jpg  E05-19.jpg  E07-11.jpg  E09-03.jpg  E10-26.jpg 
E02-05.jpg  E03-28.jpg  E05-20.jpg  E07-12.jpg  E09-04.jpg  E10-27.jpg 
E02-06.jpg  E03-29.jpg  E05-21.jpg  E07-13.jpg  E09-05.jpg  E10-28.jpg 
E02-07.jpg  E03-30.jpg  E05-22.jpg  E07-14.jpg  E09-06.jpg  E10-29.jpg 
E02-08.jpg  E03-31.jpg  E05-23.jpg  E07-15.jpg  E09-07.jpg  E10-30.jpg 
E02-09.jpg  E03-32.jpg  E05-24.jpg  E07-16.jpg  E09-08.jpg  E10-31.jpg 
E02-10.jpg  E03-33.jpg  E05-25.jpg  E07-17.jpg  E09-09.jpg  E10-32.jpg 
E02-11.jpg  E04-03.jpg  E05-26.jpg  E07-18.jpg  E09-10.jpg  E10-33.jpg 
E02-12.jpg  E04-04.jpg  E05-27.jpg  E07-19.jpg  E09-11.jpg  skript.sh* 
E02-13.jpg  E04-05.jpg  E05-28.jpg  E07-20.jpg  E09-12.jpg   
E02-14.jpg  E04-06.jpg  E05-29.jpg  E07-21.jpg  E09-13.jpg 
E02-15.jpg  E04-07.jpg  E05-30.jpg  E07-22.jpg  E09-14.jpg
Markus
Bitte warten ..
Mitglied: D3ld0C
12.04.2013 um 15:58 Uhr
Wir haben nur Windows, deswegen probier ich das mal mit cygwin und sehe was bei raus kommt.

Schonmal Danke
Bitte warten ..
Mitglied: 64748
12.04.2013 um 16:12 Uhr
Wenn es bei Euch möglich ist, dann reicht auch eine Linux-Live-CD/DVD und die Daten vorher auf einen USB-Stick übertragen.

Markus
Bitte warten ..
Mitglied: D3ld0C
12.04.2013 um 16:25 Uhr
Naja, die Kamera macht ja immer wieder Bilder und so müsste ich das immer wieder machen.
Ich hatte eigentlich geplant eine Batch zu schreiben und die jeden Tag einmal durchlaufen zu lassen.

Das Problem ist das man erst in die Ordner reingehen muss jedes einzelne Bild zu sehen.
Deswegen ist es mein Ziel sie alle in einen Ordner zu tun um einen besseren Überblick zu haben.
Bitte warten ..
Mitglied: VooDoo4711
12.04.2013, aktualisiert um 16:32 Uhr
Hallo,

Du kannst es auch mal mit MobaXterm (http://mobaxterm.mobatek.net/) probieren.
Das bringt grundlegende Linux-Befehle mit und Du kannst damit unter Windows auf Deine Dateien zugreifen und sie verarbeiten.

Viel Erfolg!
Bitte warten ..
Mitglied: Endoro
12.04.2013 um 16:39 Uhr
Hallo D3ld0C,

mit Batch sieht das so aus:
01.
@echo off&setlocal  
02.
set "startfolder=." 
03.
set "zielfolder=c:\temp" 
04.
 
05.
for /r "%startfolder%" %%i in (E0000?.jpg) do ( 
06.
	for %%j in ("%%~dpi.") do if not exist "%zielfolder%\%%~nj%%~xi" ( 
07.
		move "%%~fi" "%zielfolder%\%%~nj%%~xi" 
08.
		) else echo("%zielfolder%\%%~nj%%~xi" already exists! 
09.
)

Gruss!
Bitte warten ..
Mitglied: 64748
12.04.2013 um 16:46 Uhr
Meine Meinung: Wenn man viel mit Textdateien arbeitet oder solche Dateioperationen machen muss wie Du jetzt, dann ist es sehr hilfreich, wenn man irgendwo einen Linuxrechner stehen hat, sei es auch ein Rechner mit Dualboot Linux/Windows, oder ein Windows-PC mit einem virtuellen Linuxrechner (oder umgekehrt, (würde ich vorziehen).

Man hat bei Unix/Linux-Systemen viele sehr leistungsfähige Werkzeuge zu Text- und Dateibearbeitung dabei. Es ist ein sehr effizientes Arbeiten.
Damit ist nichts gegen Windows gesagt, man muss wissen, dass bei Unix traditionell die Konfiguration und Steuerung des Systems über menschenlesbare Textdateien abläuft, so haben sich auch die notwendigen Administrationswerkzeuge entwickelt.

Man kann das alles natürlich auch mit einem Batchskript machen. Allerdings macht man für gewöhnlich mit Batch Stapelverarbeitung (wie der Name schon sagt). Aber es gibt auch für Windows Werkzeuge, die über die Möglichkeiten von Batch hinaus gehen und vor allem etwas übersichtlicher und komfortabler sind. VBS ist nicht so mein Fall, aber z.B. die gängigen Skriptsprachen wie Perl, Python oder Ruby laufen auch unter Windows. Ich kann z.B. Strawberry Perl empfehlen. Wenn ich jedoch Batchskripten sehe (hier im Forum), die z.T. mehrere hundert Zeilen lang sind, dann kringeln sich mir die Fußnägel nach oben

Du musst überlegen, was sonst so Deine Aufgaben am Computer sind und womit Dir langfristig auch bei anderen Aufgaben geholfen ist.

Markus
Bitte warten ..
Mitglied: D3ld0C
15.05.2013 um 08:05 Uhr
So ich hatte mich jetzt mal ein bisschen damit beschäftigt und versucht es in Linux mit cygwin, oder mobaxterm umzusetzen.
Letzendlich habe ich aber eine Lösung mit einer Batch-Datei gefunden, dank dem Code von Endoro.
Danke dafür

Das heißt nicht das ich das unbedingt besser finde, aber der Aufwand ist kleiner.
Danke an euch allen für eure Hilfe.

Gruß
Daniel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch Datei: PDF Dateien verschieben, umbenennen und löschen

gelöst Frage von F0rcehunterBatch & Shell4 Kommentare

Hallo zusammen, ich versuche mich gerade an einer Batch, die folgende Arbeitsschritte durchführen soll: In dem Ordner "C:\Produktdaten_zur_Uebernahme" befinden ...

Batch & Shell

Dateien verschieben und umbenennen

gelöst Frage von eazy-isiBatch & Shell12 Kommentare

Hallo zusammen, ich stehe vor folgender Herausforderung. Ich muss aus einem Verzeichnis Dateien in ein anderes Verzeichnis verschieben und ...

Batch & Shell

Batch - alle unterverzeichnisse miteinbeziehen

Frage von mksadmBatch & Shell5 Kommentare

Hallo zusammen, ich habe folgendes einfaches Skript: CD /D C:\Program Files\IrfanView i_view64.exe c:\temp1\ /resize=(2592,2592) /sharpen=10 /aspectratio /convert=c:\temp2\*.jpg ich möchte ...

Batch & Shell

Verschieben von Bildern in Laufwerk ohne Struktur

Frage von hoffi3dBatch & Shell9 Kommentare

Hallo, kann mir jemand helfen, ich möchte gerne eine Batch, die mir alle *.jpg und *.jpeg Dateien von einem ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing20 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware11 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

VB for Applications
VBScript mit WINscp für einfachen FTP Transfer und nachträglichem verschieben der Datei in ein erledigt Verzeichnis
Frage von KeiosIDVB for Applications9 Kommentare

Hallo, leider soll ich auf den neueren Servern(Win2016R2) keine *.Bat Dateien mehr laufen lassen. Hier soll nun alles über ...