Problem Zeichensatz mit REG QUERY und Startmenü
Hallo zusammen!
Dank der vielen Anleitungen hier, habe ich herausgefunden wie ich den Pfad für den Ordner Startmenü (AllUsers) auslesen könnte.
Ich dachte mit folgender Anweisung käme ich ans Ziel (aus einer Batch-Datei aufgerufen):
for /f "tokens=2* delims= " %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"^|findstr /i /c:"Common Startup"') do set "Startup=%%j"
Allerdings habe ich dabei ein Problem...
Das Ergebnis von echo "%Startup%" ist:
C:\Dokumente und Einstellungen\All Users\Startmen³\Programme\Autostart
Leider kann ich mit "Startmen³" nichts anfangen.
Führe ich ["REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"] aus,
erhalte ich als Output: (Output wurde um nicht relevante Zeilen gekürzt)
Common Startup REG_SZ C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart
Sobald ich aber die Kommandos for oder findstr benutze, wird aus "Startmenü" wieder "Startmen³".
Ich brauche die Pfade in den Variablen weil ich in einer Batch-Datei mit diversen System-Pfaden arbeiten muss. Die Batch-Datei läuft auf diversen Windows-Versionen und mit diversen Betriebssystem-Sprachen.
Dank der vielen Anleitungen hier, habe ich herausgefunden wie ich den Pfad für den Ordner Startmenü (AllUsers) auslesen könnte.
Ich dachte mit folgender Anweisung käme ich ans Ziel (aus einer Batch-Datei aufgerufen):
for /f "tokens=2* delims= " %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"^|findstr /i /c:"Common Startup"') do set "Startup=%%j"
Allerdings habe ich dabei ein Problem...
Das Ergebnis von echo "%Startup%" ist:
C:\Dokumente und Einstellungen\All Users\Startmen³\Programme\Autostart
Leider kann ich mit "Startmen³" nichts anfangen.
Führe ich ["REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"] aus,
erhalte ich als Output: (Output wurde um nicht relevante Zeilen gekürzt)
Common Startup REG_SZ C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart
Sobald ich aber die Kommandos for oder findstr benutze, wird aus "Startmenü" wieder "Startmen³".
Ich brauche die Pfade in den Variablen weil ich in einer Batch-Datei mit diversen System-Pfaden arbeiten muss. Die Batch-Datei läuft auf diversen Windows-Versionen und mit diversen Betriebssystem-Sprachen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 129678
Url: https://administrator.de/contentid/129678
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo eccos01 und willkommen im Forum!
Ein Wechsel der Codepage auf 1252 sollte das Umlautproblem lösen:
Soferne Du danach wieder auf die ursprüngliche CP (zB 850) zurückwechseln willst, etwa so:
Grüße
bastla
Ein Wechsel der Codepage auf 1252 sollte das Umlautproblem lösen:
chcp 1252>nul
for /f "tokens=3 delims=:. " %%i in ('chcp') do set "CP=%%i"
chcp 1252>nul
...
...
chcp %CP%>nul
bastla
hallo,
warum so umständlich über die Registry?
die Systemvariable %ALLUSERSPROFILE% sollte doch auf allen Windows-Versionen existieren, oder?
mit Startm~1 solltest du auch immer im Startmenü landen (6 Zeichen des Ordnernamens + ~1)
für den Autostart wäre das also:
"%ALLUSERSPROFILE%\Startm~1\Progra~1\Autost~1"
(getestet unter XP Prof. SP3)
warum so umständlich über die Registry?
die Systemvariable %ALLUSERSPROFILE% sollte doch auf allen Windows-Versionen existieren, oder?
mit Startm~1 solltest du auch immer im Startmenü landen (6 Zeichen des Ordnernamens + ~1)
für den Autostart wäre das also:
"%ALLUSERSPROFILE%\Startm~1\Progra~1\Autost~1"
(getestet unter XP Prof. SP3)
schade, das diese Info nicht schon oben stand
im englischen heisst es natürlich "Startup" und nicht "Autostart":
entweder findet er das eine oder das andere
getestet unter XP Prof. SP3 deutsch & englisch
im englischen heisst es natürlich "Startup" und nicht "Autostart":
for /f "delims=" %%i in ('dir /s /b "%allusersprofile%\Autostart"') do set "Startup=%%i"
for /f "delims=" %%i in ('dir /s /b "%allusersprofile%\Startup"') do set "Startup=%%i"
getestet unter XP Prof. SP3 deutsch & englisch