Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 11512 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

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

Frage von Concurve zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...