Per Batch einen Ordner mit der höchsten versionsnr aussuchen
Hi Alle zusammen,
ich habe hier schon eine Runde unter den Batchfragen rumgeklickt um zu sehen ob sich schon jemand mit dem Problem beschäftigt hat, bin aber leider nicht wirklich fündig geworden.
So, jetzt zur Erklärung des leider sehr kryptisch geratenen Titels und meines Problems:
Ich habe ein Programm das nach einem Update immer wieder einen neuen Ordner mit der neuen Versionsnummer des Programms erstellt, und dabei den Ordner mit der vorletzten Nummer löscht.
Es liegen also zwei Ordner mit mit Nummern in etwa wie: 1.6.0.4 und 1.6.0.0 da rum
In dem aktuellsten Ordner muß nach dem Update händisch immer auf eine Datei zugegriffen werden um diese um eine Zeile zu erweitern, sowie noch eine weitere Datei in den Ordner reinkopiert werden.
Kein großes Ding und eigentlich nur Bequemlichkeit dafür eine Batch zu nehmen, aber ich habe gerade Zeit auf der Arbeit und wollte mich da mal etwas einlesen (mit sehr sehr mäßigem Erfolg)
Meine Frage ist: wie bekomme ich es hin das der Ordner mit der höheren Nummer (also der neuere) selektiert wird ohne das ich das von Hand auswählen muß?
Schon mal Danke für's lesen und eventuelle Antworten
ich habe hier schon eine Runde unter den Batchfragen rumgeklickt um zu sehen ob sich schon jemand mit dem Problem beschäftigt hat, bin aber leider nicht wirklich fündig geworden.
So, jetzt zur Erklärung des leider sehr kryptisch geratenen Titels und meines Problems:
Ich habe ein Programm das nach einem Update immer wieder einen neuen Ordner mit der neuen Versionsnummer des Programms erstellt, und dabei den Ordner mit der vorletzten Nummer löscht.
Es liegen also zwei Ordner mit mit Nummern in etwa wie: 1.6.0.4 und 1.6.0.0 da rum
In dem aktuellsten Ordner muß nach dem Update händisch immer auf eine Datei zugegriffen werden um diese um eine Zeile zu erweitern, sowie noch eine weitere Datei in den Ordner reinkopiert werden.
Kein großes Ding und eigentlich nur Bequemlichkeit dafür eine Batch zu nehmen, aber ich habe gerade Zeit auf der Arbeit und wollte mich da mal etwas einlesen (mit sehr sehr mäßigem Erfolg)
Meine Frage ist: wie bekomme ich es hin das der Ordner mit der höheren Nummer (also der neuere) selektiert wird ohne das ich das von Hand auswählen muß?
Schon mal Danke für's lesen und eventuelle Antworten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 327700
Url: https://administrator.de/forum/per-batch-einen-ordner-mit-der-hoechsten-versionsnr-aussuchen-327700.html
Ausgedruckt am: 05.05.2025 um 20:05 Uhr
2 Kommentare
Neuester Kommentar

z.B. so
oder
Gruß mik
@echo off & setlocal enabledelayedexpansion
set "folder=D:\Versionsordner"
set NUM=0
for /D %%a in ("%folder%\*") DO (
set f=%%~nxa &set /a f=!f:.=!
if !f! GTR !NUM! (
set NUM=!f!
set LAST=%%a
)
)
echo %LAST%
@echo off
set "folder=D:\Versionsordner"
for /f %%a in ('powershell -Executionpolicy ByPass -c "gci '%folder%' -Dir | sort {[int]$_.Name.replace('.','')} -EA SilentlyContinue -Descending | select -First 1 -Expand FullName"') do set "LAST=%%a"
echo %LAST%