Verzeichnisnamen vergleichen?!
Wie kann man mit Batch das Verzeichnis mit der höchsten Zahl auswählen?!
Hallo Community,
Ich habe momentan ein Problem mit einem kleinen Batch-Script.
Ich möchte damit ein Verzeichnis auwählen und eine Datei daraus kopieren.
Das Problem: Die Ordner sind nummeriert (Bilder1, Bilder2 , Bilder3 , ... , Bilder53)
und nun soll die batchdatei, den Ordner auswählen der die höchste zahl hat und die Datei Bild001.jpg daraus kopieren.
Natürlich ginge das auch so:
@echo off
cd C:\Pics\Bilder1
copy Bild001.jpg C:\
cd..
if exist Bilder2 goto Bilder2
:Bilder2
cd Bilder2
xcopy /Y Bild001.jpg C:\
cd..
if exist Bilder3 goto Bilder3
:Bilder3
cd Bilder3
xcopy /Y Bild001.jpg C:\
cd..
if exist Bilder4 goto Bilder4
:Bilder4
cd Bilder4
xcopy /Y Bild001.jpg C:\
...
Aber das ist erstens nicht schön :D und zweitens dauert das bei einer hohen Anzahl an Verzeichnissen auch relativ lange.
Deshalb wollte ich mal fragn ob man direkt prüfen kann, welches verzeichnis die höchste zahl dahinter hat und nur aus dem die datei kopieren.
Vielleicht kann man auch etwas über das Erstellungsdatum machen, denn Bild1 ist das älteste und das mit der höchstesn zahl das neuete, nur habe ich keine Ahnung, wie man die Erstellungsdaten vergleicht.
Ich hoffe ihr könnt mir helfen.
Mfg LimitsUnkn0wn
Hallo Community,
Ich habe momentan ein Problem mit einem kleinen Batch-Script.
Ich möchte damit ein Verzeichnis auwählen und eine Datei daraus kopieren.
Das Problem: Die Ordner sind nummeriert (Bilder1, Bilder2 , Bilder3 , ... , Bilder53)
und nun soll die batchdatei, den Ordner auswählen der die höchste zahl hat und die Datei Bild001.jpg daraus kopieren.
Natürlich ginge das auch so:
@echo off
cd C:\Pics\Bilder1
copy Bild001.jpg C:\
cd..
if exist Bilder2 goto Bilder2
:Bilder2
cd Bilder2
xcopy /Y Bild001.jpg C:\
cd..
if exist Bilder3 goto Bilder3
:Bilder3
cd Bilder3
xcopy /Y Bild001.jpg C:\
cd..
if exist Bilder4 goto Bilder4
:Bilder4
cd Bilder4
xcopy /Y Bild001.jpg C:\
...
Aber das ist erstens nicht schön :D und zweitens dauert das bei einer hohen Anzahl an Verzeichnissen auch relativ lange.
Deshalb wollte ich mal fragn ob man direkt prüfen kann, welches verzeichnis die höchste zahl dahinter hat und nur aus dem die datei kopieren.
Vielleicht kann man auch etwas über das Erstellungsdatum machen, denn Bild1 ist das älteste und das mit der höchstesn zahl das neuete, nur habe ich keine Ahnung, wie man die Erstellungsdaten vergleicht.
Ich hoffe ihr könnt mir helfen.
Mfg LimitsUnkn0wn
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 75292
Url: https://administrator.de/forum/verzeichnisnamen-vergleichen-75292.html
Ausgedruckt am: 08.04.2025 um 15:04 Uhr
4 Kommentare
Neuester Kommentar
Moin LimitsUnknown,
willkommen im Forum.
Es sind in der Tat verschiedene Lösungsstrategien für Deine Anforderung Erfolg versprechend.
Genauer gesagt (Anzahl BatchschreiberInnen hoch 2)-1.
Ich würde als die einfachste die Ermittlung des "neuesten" Verzeichnisses wählen.
Test am CMD-Prompt
Danach steht in der Variablen %NewestDir% das neueste Verzeichnis. (Anzeigen mit "Set new")
Grüße
Biber
willkommen im Forum.
Es sind in der Tat verschiedene Lösungsstrategien für Deine Anforderung Erfolg versprechend.
Genauer gesagt (Anzahl BatchschreiberInnen hoch 2)-1.
Ich würde als die einfachste die Ermittlung des "neuesten" Verzeichnisses wählen.
Test am CMD-Prompt
For /f %i in ('dir /ad /o:d /b c:\pics\Bilder*') do @set "newestDir=%i"
Danach steht in der Variablen %NewestDir% das neueste Verzeichnis. (Anzeigen mit "Set new")
Grüße
Biber