2 Neusten Dateien öffnen
Hallo zusammen,
bin in dem Bereich BATCH total unerfahren. Wollte eig. nur schnell eine kleine Automatisierung schreiben. Sonst programmiere ich mit Delphi.
Mein Wunsch:
Die neusten Registry-Dateien von Delphi (sind immer 2) speicher ich fast jeden Tag auf meiner Festplatte. Nun will ich die neusten 2 auf meinem Notebook ausführen. Mein erster Ansatz:
So für ich nur die erste neuste Datei aus. Doch ich will die ersten 2 neusten Dateien.
Wie mach ich das?
Danke& Grüße,
Littleben
bin in dem Bereich BATCH total unerfahren. Wollte eig. nur schnell eine kleine Automatisierung schreiben. Sonst programmiere ich mit Delphi.
Mein Wunsch:
Die neusten Registry-Dateien von Delphi (sind immer 2) speicher ich fast jeden Tag auf meiner Festplatte. Nun will ich die neusten 2 auf meinem Notebook ausführen. Mein erster Ansatz:
for /f %%i in ('dir /b /A /O:D C:\Users\Littleben\Desktop\Test\*.reg) do set newestdump="%%~nxi"
call C:\Users\Littleben\Desktop\Test\%newestdump%
Wie mach ich das?
Danke& Grüße,
Littleben
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Dani am 20.04.2011 um 16:44:32 Uhr
Formatierung hinzugefügt.
Content-ID: 164983
Url: https://administrator.de/forum/2-neusten-dateien-oeffnen-164983.html
Ausgedruckt am: 21.04.2025 um 22:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo Littleben,
so wie das ausschaut, arbeitet deine For-Schliefe alle *.reg-Dateien im Verzeichnis ab, und schreibt den Namen jeweils in die Variable newestdump (wobei der alte Inhalt überschrieben wird).
Erst danach startet er die Datei in der Variable newestdump. Diese letzte ist eben nur die Neueste.
Was auch noch gefährlich ist (und mich wundert, dass es überhaupt funktioniert):
Speichert die " in der Variable die du dann an den Pfad anhängst
Besser:
Versuchs mal so:
[edit:c&p-Fehler nachgebessert
... Danke]
Mathe172
so wie das ausschaut, arbeitet deine For-Schliefe alle *.reg-Dateien im Verzeichnis ab, und schreibt den Namen jeweils in die Variable newestdump (wobei der alte Inhalt überschrieben wird).
Erst danach startet er die Datei in der Variable newestdump. Diese letzte ist eben nur die Neueste.
Was auch noch gefährlich ist (und mich wundert, dass es überhaupt funktioniert):
set newestdump="%%~nxi"
Besser:
set "newestdump=%%~nxi"
Versuchs mal so:
[edit:c&p-Fehler nachgebessert
setlocal enabledelayedexpansion
pushd "C:\Users\Littleben\Desktop\Test\"
for /f %%i in ('dir /b /A /O:D *.reg') do (
set "newestdump2=!newestdump!"
set "newestdump=%%~nxi"
)
call "%newestdump%"
call "%newestdump2%"
popd
Mathe172
Aloha,
abgesehen davon, dass in deiner for-Schleifen-Befehls-Klammer am Ende das Apostroph fehlt, (und Mathe blind c&p gemacht hat ^_^)
würde ich es ganz spontan per Zusatzschleife lösen
greetz André
edit: too late - oder eben so wie Mathe es macht *gg*
abgesehen davon, dass in deiner for-Schleifen-Befehls-Klammer am Ende das Apostroph fehlt, (und Mathe blind c&p gemacht hat ^_^)
würde ich es ganz spontan per Zusatzschleife lösen
for /f %%i in ('dir /b /A /O:D "C:\Users\Littleben\Desktop\Test\*.reg" ^|findstr /v "%newestdump%"') do set "newestdump2=%%~nxi"
greetz André
edit: too late - oder eben so wie Mathe es macht *gg*

Zitat von @Littleben:
So für ich nur die erste neuste Datei aus. Doch ich will die ersten 2 neusten Dateien.
Wie mach ich das?
So für ich nur die erste neuste Datei aus. Doch ich will die ersten 2 neusten Dateien.
Wie mach ich das?
Du verwendest 2 Variablen, die erst mal nicht da sind. Dann verwendest du zusätzlich in deiner Schleife
if not defined variable1 set "variable1=%%~nxi" else if not defined variable2 set "variable2=%%~nxi" & goto :wasweissichwohin
ungetestet
Gruß
Edit: Dank des Hinweises von bastla das Brett vor dem Kopf entfernt.

Na warte ....! 
Natürlich hast du Recht. Ich weiß das auch, frag mich doch mal warum ich exist geschrieben habe......
Natürlich hast du Recht. Ich weiß das auch, frag mich doch mal warum ich exist geschrieben habe......
