
37414
18.07.2020, aktualisiert um 13:44:15 Uhr
Batchdatei mit Platzhalter
Hallo liebe User,
ich habe eine Sicherungsdatei per Batch mit Robocopy erstellt. Alles funktioniert grds. sehr gut.
Nur stellte ich heute fest, dass - nach einem Update des eigentlichen Sicherungsprogramms - das Programmverzeichnis immer eine neue Versionsnummer erhält.
Daher müßte ich meine Batch dann jedesmal anpassen, was natürlich Unsinn ist...
Ich sichere mit dem Programm "AOMEI Backupper", mit dem ich sehr zufrieden bin.
Hier mal der Auszug aus meiner Batch mit dem Start der Sicherung:
Es müßte doch möglich sein, diese "5.0.8." durch einen Platzhalter zu ersetzen.
Sowas in der Art wie:
Habe es auch schon versucht, indem ich eine Verknüpfung angesteuert habe (also die passende ".lnk"-Datei). Das geht auch. Aber das ist mir zu unsicher, falls ich die Verknüpfung mal lösche oder in ein anderes Verzeichnis verschiebe etc.
Weiß jemand von Euch, wie man so einen Platzhalter in einem Batch-Pfad setzt?
Danke & Gruß,
imebro
ich habe eine Sicherungsdatei per Batch mit Robocopy erstellt. Alles funktioniert grds. sehr gut.
Nur stellte ich heute fest, dass - nach einem Update des eigentlichen Sicherungsprogramms - das Programmverzeichnis immer eine neue Versionsnummer erhält.
Daher müßte ich meine Batch dann jedesmal anpassen, was natürlich Unsinn ist...
Ich sichere mit dem Programm "AOMEI Backupper", mit dem ich sehr zufrieden bin.
Hier mal der Auszug aus meiner Batch mit dem Start der Sicherung:
"C:\Program Files (x86)\AOMEI Backupper\AOMEI Backupper 5.0.8.\Backupper.exe"
Es müßte doch möglich sein, diese "5.0.8." durch einen Platzhalter zu ersetzen.
Sowas in der Art wie:
"C:\Program Files (x86)\AOMEI Backupper\AOMEI Backupper *.*\Backupper.exe"
Habe es auch schon versucht, indem ich eine Verknüpfung angesteuert habe (also die passende ".lnk"-Datei). Das geht auch. Aber das ist mir zu unsicher, falls ich die Verknüpfung mal lösche oder in ein anderes Verzeichnis verschiebe etc.
Weiß jemand von Euch, wie man so einen Platzhalter in einem Batch-Pfad setzt?
Danke & Gruß,
imebro
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 588786
Url: https://administrator.de/forum/batchdatei-mit-platzhalter-588786.html
Ausgedruckt am: 05.04.2025 um 10:04 Uhr
16 Kommentare
Neuester Kommentar
Musst aber trotzdem erst mal mittels Globbing rausfinden, wie das Verzeichnis tatsächlich heißt. Ist halt ein Stepp zusätzlich, noch eine Variable zu definieren ...
Steffen
for /d %%i in ("C:\Program Files (x86)\AOMEI Backupper\AOMEI Backupper *") do if exist "%%~i\Backupper.exe" set "backupperfolder=%%~nxi"
if defined backupperfolder echo mach was mit "C:\Program Files (x86)\AOMEI Backupper\%backupperfolder%\Backupper.exe"
Steffen

Zitat von @37414:
Übrigens habe ich diese zwei Anführungsstriche "" hinter dem Wort "start" noch eingefügt, da das irgendwo so empfohlen wurde. Ohne diese beiden Anführungsstriche erschien nämlich nur ein DOS-Fenster, in dem einfach nur der komplette Code-Pfad als Titelfenster angezeigt wurde. Mir ist aber nicht wirklich klar, was genau diese beiden Anführungsstriche bewirken...
Man könnte ja einfach mal in der Referenz nachschlagen statt herum zu ratenÜbrigens habe ich diese zwei Anführungsstriche "" hinter dem Wort "start" noch eingefügt, da das irgendwo so empfohlen wurde. Ohne diese beiden Anführungsstriche erschien nämlich nur ein DOS-Fenster, in dem einfach nur der komplette Code-Pfad als Titelfenster angezeigt wurde. Mir ist aber nicht wirklich klar, was genau diese beiden Anführungsstriche bewirken...
https://ss64.com/nt/start.html
START "title" [/D path] [options] "command" [parameters]
Key:
title Text for the CMD window title bar (required.)
path Starting directory.
command The command, batch file or executable program to run.
parameters The parameters passed to the command.

obwohl ich ja hinter START gar keinen Text eingegeben habe, sondern direkt den Pfad
Ein Pfad ist auch Text 🙂
Die CMD funktioniert da leicht abweichend von der Dokumentation. Wenn das erste Argument nach START nicht in Anführungszeichen steht, wird es nicht als Fenstertitel geparst. So etwas wie
beispielsweise. Da du aber die Anführungszeichen um deinen Pfads zwingend brauchst, darf dieser nicht das erste Argument sein. Hier brauchst du also einen zusätzlichen Fenstertitel der in Anführungszeichen steht. Das kann auch ein "leerer" String sein, da der Fenstertitel bei GUI Programmen sowieso unberücksichtigt bleibt.
Alles in Allem schadet es nie bei einem START Kommando ein "" voranzustellen, egal ob es benötigt wird oder nicht. Wenn du es immer mit schreibst brauchst du dir keine Gedanken darüber zu machen...
Steffen
start notepad
beispielsweise. Da du aber die Anführungszeichen um deinen Pfads zwingend brauchst, darf dieser nicht das erste Argument sein. Hier brauchst du also einen zusätzlichen Fenstertitel der in Anführungszeichen steht. Das kann auch ein "leerer" String sein, da der Fenstertitel bei GUI Programmen sowieso unberücksichtigt bleibt.
Alles in Allem schadet es nie bei einem START Kommando ein "" voranzustellen, egal ob es benötigt wird oder nicht. Wenn du es immer mit schreibst brauchst du dir keine Gedanken darüber zu machen...
Steffen