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

Kopiere nur jedes x-te Bild oder Datei

Frage Entwicklung Batch & Shell

Mitglied: mc-doubleyou

mc-doubleyou (Level 2) - Jetzt verbinden

17.10.2011, aktualisiert 18.10.2012, 3257 Aufrufe, 3 Kommentare

Hallo zusammen,

ich habe ein Problem, ich habe aus versehen statt alle 60 min, alle 5 min ein Bild erzeugt.

Nun würde ich gerne nur jedes 12 te Bild kopieren und so wieder nur ein Bild pro Stunde haben.

Der KopierBefehl ist mir natürlich bekannt aber ich habe leider keine Ahnung wie ich Bild 2-11 vom Kopieren auslasse.

Danke!

lg mc-dy
Mitglied: bastla
17.10.2011 um 10:38 Uhr
Hallo mc-doubleyou!

Unterliegen die Dateinamen der Bilder eigentlich der Geheimhaltung?

Anyhow: Schematisch wird es in etwa auf:
01.
@echo off & setlocal 
02.
set /a Auswahl=12 
03.
 
04.
pushd "D:\Bilder" 
05.
for /f "tokens=1* delims=:" %%i in ('dir /b /a-d /on *.jpg^|findstr /n "^"') do call :ProcessFile %%i "%%j" 
06.
popd 
07.
goto :eof 
08.
 
09.
 
10.
:ProcessFile 
11.
set /a Modulo=%1 %% Auswahl 
12.
if %Modulo% neq 1 goto :eof 
13.
echo Kopiere %2 
14.
goto :eof
hinauslaufen ...

Grüße
bastla

[Edit] "pushd" / "popd" und "/a-d" ergänzt
Bitte warten ..
Mitglied: mc-doubleyou
17.10.2011 um 11:42 Uhr
WOW,

und mal wieder verstehe ich genau nichts -.-

Bildername baut sich wie folgt auf: NAME_DATUM_ScreenNUMMER (Sortierung ist richtig)

Auswahl mit welchem Bild begonnen wir gibt es so keine oder? (Muss nicht sein wäre aber evtl. nicht schlecht)
Weiters verstehe ich nicht wo hier das Ziel angegeben wird ich sehe nur die Quelle.

Mal ganz abgesehend davon das ich bis jetzt nicht verstehe wofür SETLOCAL da ist und was im Bereich von :PROCESSFILE passiert.
Die for Abfrage hingegen erscheint schon eher einleuchtend zumal es nicht meine erste ist.

Wäre nett wenn erklärungen folgen würden damit ich das Script optimieren kann.

Danke!

lg mc-dy
Bitte warten ..
Mitglied: bastla
17.10.2011, aktualisiert 18.10.2012
Hallo mc-doubleyou!

Die Zeile 11 ist ja auch nur eine Demo - einen "copy"-Befehl wirst Du hoffentlich selbst hinbekommen ...
Kurze Erklärung:
Die "for"-Schleife erzeugt einfach eine geordnete (derzeit nach Name, da ich mal auf Verdacht eine vernünftige Namensgebung vorausgesetzt hatte, auf Wunsch aber auch nach Erstelldatum mit "/od /tc") und nummerierte Liste der Dateien im angegebenen Ordner, wobei die Nummer als %1 und der Name als %2 im (für jede Datei) aufgerufenen Unterprogramm ":ProcessFille" ankommt.

Dort wird mit einer Modulo-Berechnung (= Ermittlung des Divisionsrests) eine Datei nur dann weiter verarbeitet, wenn dieser Divisionsrest genau 1 ist - demzufolge (beim verwendeten Teiler 12) die Dateien mit den Laufnummern 1, 13, 25, ...

Um mit einer bestimmten Datei zu beginnen, genügt es, von Hand vorweg alle älteren (bzw allgemein: in der Sortierung davor liegenden) Dateien zu entfernen.
Oben habe ich noch Kleinigkeiten angepasst, damit sicher nur Dateien (und keine Ordner) erfasst und der Quellpfad automatisch berücksichtigt werden.
"setlocal" habe ich zB hier kurz erklärt ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...