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

Bestimmte Bilder mit Batch löschen

Frage Entwicklung Batch & Shell

Mitglied: hanni007

hanni007 (Level 1) - Jetzt verbinden

23.07.2014, aktualisiert 24.07.2014, 1552 Aufrufe, 2 Kommentare, 1 Danke

Hallo,

seit einigen Tagen bin ich schon als Nichtnutzer in eurem Forum unterwegs. Nun habe ich mich aber entschlossen, mich bei euch anzumelden. Ich habe nämlich eine Frage.

Ich habe mir auf Arbeit das Ziel gesetzt, Bilder von einer Webcam, bei dem ein Bau von einem Gebäude aufgezeichnet wurde, zu einem Zeitraffer zu verbinden. Die Zeitraffersoftware habe ich schon gefunden.

Nun ist es aber so, dass ich mehr als 200000 Bilder sortieren muss, da ich zum einen nicht jedes einzelne Bild brauche und schon garnicht die Nachtbilder. Möchte ja nicht, dass jemand Epilepsie bekommt. Die Bilder wurde bereits nur aller fünf Minuten gespeichert mit immer dem selben Format: "Jahr-Monat-Tag-Stunde-Minute.jpg" Ich habe also eine folgende Liste:

2013-02-09-00-00.jpg
2013-02-09-00-05.jpg
...
2013-02-09-15-45.jpg
...

Jeder Tag ist in einem neuen Ordner mit 288 Bildern. Diese Ordner liegen in einem Überordner "Bilder_Bau".

Mein Ziel:
Eine Batch schreiben, die jedes dritte oder vierte Bild löscht, die Nachtbilder entfernt, bzw alle Bilder von 00.00 Uhr bis 07:00 Uhr und 17:00 bis 23:55 Uhr, und alle Bilder dann in einen bestimmten Ordner zusammen verschiebt, sodass ich sie für die Zeitraffersoftware nutzen kann.

Es wäre wirklich nett, wenn wir zusammen eine Möglichkeit finden, das zu realisieren.

BTW: Ich möchte das gern mit einer Batch abarbeiten, egal wie sinnvoll oder ressourcenhungrig das ist. ;) Eventuell kann ich mich auch mit Shell-Befehlen abfinden, habe davon aber wirklich keine Ahnung.

Beste Grüße
Hanni007
Mitglied: rubberman
LÖSUNG 23.07.2014, aktualisiert 24.07.2014
Hallo Hanni007, willkommen im Forum.

Speicher mal folgenden Code in das Bilder_Bau Verzeichnis:
01.
@echo off &setlocal EnableDelayedExpansion 
02.
if not exist "Bilder_Zeitraffer\" md "Bilder_Zeitraffer" 
03.
for /f "tokens=1* delims=:" %%i in ('dir /a-d /b /s /on "*.jpg"^|findstr /n "^"') do ( 
04.
  set /a "ignore = %%i %% 3" 
05.
  if !ignore! neq 0 ( 
06.
    for /f "tokens=4 delims=-" %%k in ("%%~nj") do set /a "h = 100%%k %% 100" 
07.
    if !h! gtr 6 if !h! lss 17 ( 
08.
      copy "%%j" "Bilder_Zeitraffer\" 
09.
10.
11.
)
Grüße
rubberman
Bitte warten ..
Mitglied: hanni007
24.07.2014 um 07:43 Uhr
Hallo rubberman,

danke für den tollen Code. Er funktioniert sehr gut. Habe noch eine kleine Änderung am Code getätigt, da ich wie gesagt nur jedes dritte Bild haben wollte, nicht jedes dritte ingnorieren. Das wäre dann nur eine kleine Änderung in Zeile 05:

if !ignore! == 0 (

Ich danke dir wirklich sehr. Hast meinen Tag gerettet! ;)

Viele Grüße
Hanni007
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...