
65984
06.06.2008, aktualisiert am 08.06.2008
Autostart Pfad ueber eine Batch auslesen
Ich möchte gerne in einer Batch - Datei den Autostart Pfad auslesen, unabhängig welches Betriebssystem installiert ist. Ich hab nach einer Windows Variable gesucht, leider nichts gefunden. In der registry befindet sich eine Variable Common Startup, die als Wert den Autostart Pfad hat.
Ich kann zwar alle Variable aus diesem "Verzeichnis" herauslesen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
ich möchte aber nur die eine (Common Startup)
Mit dieser Funktion komm ich etwas an mein Ziel heran, allerdings ließt er mir nicht wirklich den Wert für Common Startup aus sondern ich bekomm diesen Wert zurück:
Einstellungen\Benutzername\EigeneDateien\
hier das verwendete Script:
for /f "tokens=2* delims= " %A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\" /v Common Startup') do set Startup=%%B
echo %Startup%
pause
Ich hoffe ihr könnt mir helfen
Viele Dank schonmal
[Edit Biber] Verschoben von "Windows" nach "Batch & Shell" [/Edit]
Ich kann zwar alle Variable aus diesem "Verzeichnis" herauslesen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
ich möchte aber nur die eine (Common Startup)
Mit dieser Funktion komm ich etwas an mein Ziel heran, allerdings ließt er mir nicht wirklich den Wert für Common Startup aus sondern ich bekomm diesen Wert zurück:
Einstellungen\Benutzername\EigeneDateien\
hier das verwendete Script:
for /f "tokens=2* delims= " %A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\" /v Common Startup') do set Startup=%%B
echo %Startup%
pause
Ich hoffe ihr könnt mir helfen
Viele Dank schonmal
[Edit Biber] Verschoben von "Windows" nach "Batch & Shell" [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89315
Url: https://administrator.de/forum/autostart-pfad-ueber-eine-batch-auslesen-89315.html
Ausgedruckt am: 02.05.2025 um 06:05 Uhr
9 Kommentare
Neuester Kommentar

Servus,
"Autostart Pfad" was genau meinst du damit?
- das was du da mit deinem Script herausfindest - ist / sollte der Ordner sein, der als std. angezeigt wird, wenn der Explorer ohne weitere Parameter gestartet wird.
"Autostart Pfad" was genau meinst du damit?
- das was du da mit deinem Script herausfindest - ist / sollte der Ordner sein, der als std. angezeigt wird, wenn der Explorer ohne weitere Parameter gestartet wird.

"%Systemdrive%\Dokumente und Einstellungen\All Users\" spricht man über die Variable
%ALLUSERSPROFILE% an.
Und wenn du in deiner Reg-Query anstatt
/v Common Startup /v "Common Startup" verwenden würdest und den Backslash hinter Shell Folders weglässt, bekommst du sicher auch den richtigen Wert.
%ALLUSERSPROFILE% an.
Und wenn du in deiner Reg-Query anstatt
/v Common Startup /v "Common Startup" verwenden würdest und den Backslash hinter Shell Folders weglässt, bekommst du sicher auch den richtigen Wert.

Das der Wert:
"C:\\Dokumente und Einstellungen\\All Users\\Startmenü\\Programme\\Autostart"
"C:\\Dokumente und Einstellungen\\All Users\\Startmenü\\Programme\\Autostart"
Das ist die Abfrage
if exist "%allusersprofile%\startm~1\progra~1\autost~1\">nul set Auto=%allusersprofile%\startm~1\progra~1\autost~1
if exist "%allusersprofile%\startm~1\progra~1\start~1\">nul set Auto=%allusersprofile%\startm~1\progra~1\start~1
upssalla - ich werd alt und langsam...
Hallo Azubi-DL!
Da ich kein Trennzeichen angegeben habe, werden die Defaults Leerzeichen und TAB zum Trennen verwendet - benötigt wird dann alles nach Teil 3 ("REG_SZ").
[Edit] Genauer (hinsichtlich des Trennzeichens) wäre übrigens:
wobei nach "delims=" ein TAB folgt - für die direkte Eingabe an der Kommandozeile etwas schwierig
, in einem Batch aber machbar und vorzuziehen.
[/Edit]
Grüße
bastla
woher weis die funktion das sie nur den Wert nehmen soll?^^
Soferne ich Dich richtig verstehe, meinst Du die Zerlegung der Zeile - diese erfolgt anhand von Trennzeichen ("delims"). Die Ausgabe von "reg query" sieht eigentlich so aus: Common Startup<TAB>REG_SZ<TAB>Pfad...
[Edit] Genauer (hinsichtlich des Trennzeichens) wäre übrigens:
for /f "tokens=2* delims= " %A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"^|findstr /i /c:"Common Startup"') do set Startup=%B
[/Edit]
Grüße
bastla

Ich vermute mal, dass du das nicht richtig verstanden hast, siehe #3. 
Die Abfrage war fehlerhaft.
Die Abfrage war fehlerhaft.