65984
Jun 06, 2008, updated at Jun 08, 2008 (UTC)
13391
9
0
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]
Please also mark the comments that contributed to the solution of the article
Content-Key: 89315
Url: https://administrator.de/contentid/89315
Printed on: April 19, 2024 at 13:04 o'clock
9 Comments
Latest comment
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.