Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Autostart Pfad ueber eine Batch auslesen

Frage Entwicklung Batch & Shell

Mitglied: 65984

65984 (Level 1)

06.06.2008, aktualisiert 08.06.2008, 11360 Aufrufe, 9 Kommentare

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]
Mitglied: 60730
06.06.2008 um 16:31 Uhr
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.
Bitte warten ..
Mitglied: 65984
06.06.2008 um 16:38 Uhr
Bei einem deutschen Betriebssystem würde das so aussehen:

C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart

und das steht auch so in der Registry:

Das ist der Schlüssel:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]

Das der Name:
"Common Startup"

Das der Wert:
"C:\\Dokumente und Einstellungen\\All Users\\Startmenü\\Programme\\Autostart"

Und je nachdem welche Sprache das Betriebssystem hat, ist dieser Wert anders. Und das möchte ich gerne auslesen können.
Bitte warten ..
Mitglied: 65627
06.06.2008 um 16:43 Uhr
"%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.
Bitte warten ..
Mitglied: bastla
06.06.2008 um 16:51 Uhr
Hallo Azubi-DL und willkommen im Forum!

Sollte so gehen:
01.
for /f "tokens=3*" %A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"^|findstr /i /c:"Common Startup"') do set "Startup=%B"
Grüße
bastla

[Edit] "/v" ersetzt durch "findstr" [/Edit]
Bitte warten ..
Mitglied: 65984
06.06.2008 um 16:53 Uhr
Viele dank das findstr hat mir gefehlt;)

das findstr sucht also nach dem "Common startup" aber woher weis die funktion das sie nur den Wert nehmen soll?^^
Bitte warten ..
Mitglied: 60730
06.06.2008 um 16:56 Uhr
Das der Wert:
"C:\\Dokumente und Einstellungen\\All Users\\Startmenü\\Programme\\Autostart"

Das ist die Abfrage
01.
if exist "%allusersprofile%\startm~1\progra~1\autost~1\">nul  set Auto=%allusersprofile%\startm~1\progra~1\autost~1 
02.
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...
Bitte warten ..
Mitglied: bastla
06.06.2008 um 17:19 Uhr
Hallo Azubi-DL!

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:
01.
    Common Startup<TAB>REG_SZ<TAB>Pfad...
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:
01.
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
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
Bitte warten ..
Mitglied: 65627
06.06.2008 um 17:25 Uhr
Ich vermute mal, dass du das nicht richtig verstanden hast, siehe #3.

Die Abfrage war fehlerhaft.
Bitte warten ..
Mitglied: 65984
08.06.2008 um 13:21 Uhr
jepp habs verstanden und hat auch funktioniert.danke
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Per Batch Winrar entpacken - Probleme bei Pfad (7)

Frage von Concurve zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...