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 Dateierweiterungen umbenennen

Mitglied: combat

combat (Level 1) - Jetzt verbinden

19.04.2008, aktualisiert 21:18 Uhr, 5777 Aufrufe, 4 Kommentare

Hallo Community,

zu meinem letzten Beitrag konntet Ihr mir schon sehr gut weiterhelfen aber in meiner Bilddatenbank habe ich immer noch einige Schwierigkeiten, die eure Hilfe wesentlich leichter lösbar wäre.
Folgendes Problem habe ich noch:

Die Bilddatenbank ist in zwei Bereichen aufgeteilt. Es gibt einmal Vorschaubilder und einmal Originalbilder. Diese Bilder sind in unterschiedliche Verzeichnisse abgelegt, wobei der Bildname des Vorschaubildes und des Originalbildes gleich sind. Nur die Dateierweiterung des Originalbildes kann unterschiedlich sein (z.B. .pcd, .tif, .jpg)

Die Vorschaubilder liegen im Verzeichnis:

\\server1\D:\Previews\mbarchiv\2002\02010100001\DIR001\bildnr_xy1.jpg
\\server1\D:\Previews\mbarchiv\2002\02010100001\DIR001\bildnr_xy2.jpg
...
\\server1\D:\Previews\mbarchiv\2002\02011200001\DIR001\bildnr_xy100.jpg
\\server1\D:\Previews\mbarchiv\2002\02011200001\DIR001\bildnr_xy1101.jpg
...
Info:
\\server1\D:\Previews\mbarchiv\2002\ das Verzeichnis bis 2002 ändert sich nicht, nur danach sind Verzeichnisse (von der Anzahl aber wie oben beschrieben) vorhanden die ich nicht kenne.

Die Originalbilder liegen im Verzeichnis:

\\netapp\raid\2002\020100001\images\DIR001\bildnr_xy1.pcd
\\netapp\raid\2002\020100001\images\DIR001\bildnr_xy2.pcd
...
\\netapp\raid\2002\021200001\images\DIR001\bildnr_xy100.tif
\\netapp\raid\2002\021200001\images\DIR001\bildnr_xy1.jpg
...
Info:
\\netapp\raid\2002\
Das Verzeichnis bis hier ändert sich nicht

Das Verzeichnis danach 020100001 (Datum und Anzahl) ist bei Vorschaubild und Originalbild auch immer gleich. Ist dieses Vezeichnis im Vorschaubereich ein anderes (021200001) muss es im Originalbereich dann auch 021200001 heißen.

Da ich jetzt wissen möchte ob zu jedem Vorschaubild ein Originalbild mit dem gleichen Dateinamen existiert (wobei die Dateierweiterung unterschiedlich sein kann) habe ich mit Totalcommander (Verzeichnisse synchronisieren..) die Dateien verglichen.
Da die Dateierweiterung in den Originalbilder unterschiedlich sind, zeigt jetzt Totalcommander das die Bilder (Vorschaubild zu Originalbild) unterschiedlich sind, obwohl nur die Erweiterung anders ist. Bei ein paar hundert Bildern könnte man noch erkennen, dass die Bilder bis auf die Dateierweiterung gleich sind, aber bei 500.000 Bildern ist das einfach nicht mehr möglich.

Ich möchte jetzt mit einer Batch die Erweiterung in den Originalbildern auslesen und die Vorschaubilder mit der Dateierweiterung umbenennen.

Mit einer for-Schleife und findstr habe ich schon etwas versucht aber richtig weiter gekommen bin ich nicht.
for /r \\server1\D:\Previews\s %%i in ("*.*") do @echo %%i > d:\verzeichnis.txt

findstr /b \\server1\D:\Previews d:\verzeichnis.txt

Könnt Ihr mir vielleicht weiterhelfen?

Gruß combat
Mitglied: bastla
19.04.2008 um 18:25 Uhr
Hallo combat!

Ich möchte jetzt mit einer Batch die Erweiterung in den Originalbildern auslesen und die Vorschaubilder mit der Dateierweiterung umbenennen.
Ganz klar ist mir nicht, wie das gemeint ist (denn aus einem "bildnr_xy1.jpg" ein "bildnr_xy1.tiff" machen zu wollen hast Du doch sicher nicht vor), aber als Vorarbeit könntest Du die entsprechenden Originalbilder einmal auflisten.

Aufgrund der großen Menge an Bildern würde ich folgende Vorgangsweise vorschlagen: Erzeugen je einer Liste der Originale und der Vorschaubilder mit relativen Pfaden - für die Vorschaubilder kann, da es sich ohnehin durchwegs um ".jpg"-Dateien handelt, auch der Typ weggelassen werden (macht die Auswertung später einfacher) und als dritten Schritt Abgleichen der beiden Listen.

Originalliste erzeugen:
01.
@echo off & setlocal 
02.
set "Liste=D:\Originale.txt" 
03.
If exist "%Liste%" del "%Liste%" 
04.
for /f %%i in ('dir /b /s /a-d \\netapp\raid\2002\*.*') do call :ProcessFile "%%i" 
05.
goto :eof 
06.
 
07.
:ProcessFile 
08.
set "Datei=%~1" 
09.
echo %Datei:\\netapp\raid\2002\=%>>"%Liste%" 
10.
goto :eof
Vorschauliste erzeugen (ich schreibe den Pfad so, wie von Dir angegeben, also inkl "D:"):
01.
@echo off & setlocal 
02.
set "Liste=D:\Vorschau.txt" 
03.
If exist "%Liste%" del "%Liste%" 
04.
for /f %%i in ('dir /b /s /a-d \\server1\D:\Previews\mbarchiv\2002\*.*') do call :ProcessFile "%%i" 
05.
goto :eof 
06.
 
07.
:ProcessFile 
08.
set "Datei=%~dpn1" 
09.
echo %Datei:\\server1\D:\Previews\mbarchiv\2002\=%>>"%Liste%" 
10.
goto :eof
Auswertung:
01.
@echo off & setlocal 
02.
set "OListe=D:\Originale.txt" 
03.
set "VListe=D:\Vorschau.txt" 
04.
set "DListe=D:\Differenzen.txt" 
05.
set "FListe=D:\Fehlende.txt" 
06.
 
07.
if exist "%DListe%" del "%DListe%" 
08.
if exist "%FListe%" del "%FListe%" 
09.
for /f "usebackq delims=" %%i in ("%VListe%") do findstr /b /c:"%%i.jpg" "%OListe%">nul || call :ProcessFile "%%i" 
10.
goto :eof 
11.
 
12.
:ProcessFile 
13.
set Original= 
14.
for /f "delims=" %%a in ('findstr /b /c:%1 "%OListe%"') do set "Original=%%a" 
15.
if not defined Original (echo %~1.jpg)>>"%FListe%" & goto :eof 
16.
(echo %Original%)>>"%DListe%" 
17.
goto :eof
Kurz zu den beiden Ergebnisdateien: "Differenzen.txt" enthält eine Liste aller Originaldateien, welche nicht den Typ ".jpg" haben, zu denen es aber gleichnamige Vorschaubilder gibt, und "Fehlende.txt" listet alle Vorschaudateien auf, zu denen keine gleichnamigen (Erweiterung egal) Originale gefunden wurden.

Nicht aufgelistet werden Originale, zu denen es keine Vorschau gibt.

Grüße
bastla
Bitte warten ..
Mitglied: combat
19.04.2008 um 20:06 Uhr
Hallo bastla,

danke dass Du mir wieder hilfst.

Dass ich die Dateierweiterung von den Vorschaubildern ändern möchte ist schon beabsichtigt. Zuvor mache ich mir aber eine Kopie von den ganzen Vorschaubildern. Bei den Kopierten werde ich die Änderung der Dateierweiterung vornehmen und damit den Vergleich mit den Originalbildern vornehmen. Beim Vergleich (mit Totalcommander) schau ich nur zu welchem Vorschaubild es kein Originalbild gibt und andersrum. Damit dies funktioniert müssen die Dateierweiterungen leider gleich sein. Nach dem Suchen und Finden der fehlenden Bildern werden die Veränderten Vorschaubildern wieder gelöscht.

Die Skripte von Dir sind aber auch sehr gut. Mit der Liste "Fehlende.txt" kann ich dann auch nach den verlorenen Dateien suchen gehen.
Bin mir nur noch nicht sicher wie übersichtlich es bei ein paar tausend fehlenden Bildern es sein wird. Ich weiß nur das es insgesamt ca. 455000 Vorschaubilder und nur ca. "447000" Originalbilder sind. Wobei es aber auch vorkommen kann das zu Originalbilder manchmal keine Vorschaubilder gibt.

Kann man vielleicht nicht doch die Dateierweiterung ändern, damit man den Vergleich mit Totalcommander durchführen kann? Die Übersicht kommt mir ein bißchen einfache vor. Aber nur wenn es nicht zu komplex wird.

Danke für die Hilfe!

Gruß combat
Bitte warten ..
Mitglied: bastla
19.04.2008 um 20:38 Uhr
Hallo combat!

Zum Thema Umbenennen: Sobald die Liste "Differenzen.txt" erstellt ist, kann diese als Basis für eine derartige Aktion dienen - allerdings frage ich mich, was Du dann als nächstes vorhast ...

Anyhow - hier das Umbenennen:
01.
@echo off & setlocal 
02.
set "Liste=D:\Differenzen.txt" 
03.
set "Pfad=\\server1\D:\Previews\mbarchiv\2002" 
04.
 
05.
pushd \ 
06.
for /f "usebackq delims=" %%i in ("%Liste%") do ren "%Pfad%%%~pni.jpg" *%%~xi 
07.
popd
Originaldateien ohne zugehörige Vorschaubilder lassen sich aber natürlich auch noch herausfiltern:
01.
@echo off & setlocal 
02.
set "OListe=D:\Originale.txt" 
03.
set "VListe=D:\Vorschau.txt" 
04.
set "FListe=D:\FehlendeVorschaubilder.txt" 
05.
 
06.
if exist "%FListe%" del "%FListe%" 
07.
pushd \ 
08.
for /f "usebackq delims=" %%i in ("%OListe%") do call :ProcessFile "%%~pni" 
09.
popd 
10.
goto :eof 
11.
 
12.
:ProcessFile 
13.
set "Datei=%~1" 
14.
set "Datei=%Datei:~1%" 
15.
findstr /b /c:"%Datei%" "%VListe%">nul || (echo %Datei%)>>"%FListe%" 
16.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: combat
19.04.2008 um 21:18 Uhr
Hallo bastla,

Genau so habe ich mir das vorgestellt Dankeschön!!!

Zur Erklärung warum die Dateierweiterung gleich sein sollten:

Wenn das Vorschaubild so aussehen würde

\\server1\D:\Previews\mbarchiv\2002\02010100001\DIR001\bildnr_xy1.jpg
und das Original so
\\netapp\raid\2002\02010100001\images\DIR001\bildnr_xy1.pcd

dann wären die Bilder in der Datenbank richtig angelegt. Der Vergleich mit "Total Commander" würde aber sagen das es zu diesem Vorschaubild kein Originalbild existiert und zu dem Originalbild kein Vorschaubild, und das nur weil das Vorschaubild die Erweiterung "jpg" hat und nicht "pcd".

Nach dem Ändern der Erweiterung

\\server1\D:\Previews\mbarchiv\2002\02010100001\DIR001\bildnr_xy1.pcd

\\netapp\raid\2002\02010100001\images\DIR001\bildnr_xy1.pcd

sieht der Total Commander die Dateien als gleich und zeigt mir dann nur noch die Fehlenden Dateien an.

Deine Skripte sind echt super. Sie werden mir den Vergleich der Bilddateien erheblich erleichtern.

Vielen dank nochmal

Gruß combat
Bitte warten ..
Ähnliche Inhalte
Windows 10

Chinesische Zeichen in Dateierweiterung-Selektor-DropDown

gelöst Frage von TechosWindows 105 Kommentare

Hallo Liebe Gemeinde, mir ist heute etwas kurrioses aufgefallen und ich bin mir nicht so ganz sicher wie ich ...

Batch & Shell

Dateien Umbenennen

gelöst Frage von PLBot85Batch & Shell6 Kommentare

Hi, ich habe einen Ordner wo mehrer Dateien drin liegen. 20150316_121757_92636382965528_WMA1847GK62_TDOBB112.ddd 20150314_085730_73826383950256_WMA18263926_TDOBB236.ddd etc Die sollen jetzt mittels einer Batchdatei ...

LAN, WAN, Wireless

Ornderoptionen - bekannte Dateierweiterungen ausblenden nciht übrnlmmwn GPO

Frage von faebe2017LAN, WAN, Wireless9 Kommentare

die Option wird nicht übeenommen qurd aber gespeichert in der Richtlikie laut Bericht Windows server 2012 r2 Windows 7 ...

Batch & Shell

Umbenennen von Ordnernamen (anhand von Zeitstempel)

gelöst Frage von Zero90Batch & Shell7 Kommentare

Hallo, Es ist mal wieder so weit. Ich brauch wieder mal eure Hilfe. Momentan versuche ich eine Batch zu ...

Neue Wissensbeiträge
Humor (lol)
Meine Variante der DSGVO
Tipp von Henere vor 1 TagHumor (lol)2 Kommentare

Datenschutzerklärung Jede gute Website braucht eine Datenschutzerklärung? Ok, dann machen Sie sich auf etwas gefasst. Präambel Artikel 12 der ...

Administrator.de Feedback

Entwicklertagebuch: Datenschutzerklärung nach DS-GVO

Information von admtech vor 1 TagAdministrator.de Feedback

Hallo Administrator User, Wir respektieren eure Privatsphäre und möchten euch daher auf die Möglichkeiten für den Umgang mit euren ...

Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 1 TagVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Netzwerke
Riesiges Botnetz in Deutschland
Tipp von FFSephiroth vor 1 TagNetzwerke1 Kommentar

Überprüft mal eure Router und NAS

Heiß diskutierte Inhalte
Voice over IP
VOIP: Lösungen für Notruf?
Frage von MimemmmVoice over IP26 Kommentare

Hey Welche Möglichkeiten hat man eigentlich noch bei VOIP um zuverlässige Notrufe zu ermöglichen? Ein aufgeladenes Handy habe ist ...

Windows Server
Fragwürdige GPO Fehler im Syslog
gelöst Frage von Ex0r2k16Windows Server13 Kommentare

Hallo! Ich kriege bei manchen (oder sogar allen? -prüfe noch) Clients folgenden Fehler bei mehreren GPOs (aber nicht bei ...

Netzwerkmanagement
PfSense - verschiedene Subnetze über VLAN mit DHCP - WLAN-AP einrichten
gelöst Frage von xtommmikNetzwerkmanagement12 Kommentare

Hallo zusammen, ich wollte mein Netzwerk um eine HW-Firewall erweitern und habe mich nach einlesen recherchieren und Tutorials überfliegen ...

Windows Server
DHCP und Regeln und Filter
Frage von OlliPWSWindows Server10 Kommentare

Guten Tag, wir haben folgende Problematik: Wir haben diverse ca. 130 Avaya VoIP Telefone, diese sollen per DHCP automatisch ...