Prozentzeichen in eine Windows-Batch-Variable übergeben
In einem Passwort ist ein %-Zeichen enthalten. Wie kann ich dieses Passwort in einer (später zu einer exe kompilierten) batch datei an net use übergeben?
Juten Tach,
Ich habe ein kleines Problem. Auf einem Server läuft ein autimatisierter Workflow. Aus Gründen der "Updateoptimierung" (FAULHEIT) habe ich nun einen Festen zeitpunkt festgelegt wann updates automatisch eingespielt werden, und der Rechner neu startet. Auch das automatische herunter/hochfahren habe ich bereits automatisieren können. ABER!!!!
Ich muss ein paar Netzlaufwerke verbinden. Und da eines dieser Netzlaufwerke auf einem Linux-Server liegt muss ich eine authentifizierung mitgeben. bisher sieht mein Script so aus:
das ganze soll später kompiliert werden und als exe gespeichert werden damit man das Passwort nicht "einfach so" mittels rechtsklick und bearbeiten auslesen kann.
Mein Problem ist, das er das % in dem Passwort scheinbar mit verwurstet denn als %PW% gibt er folgendes aus: 1234+user er "verschluckt" das % und hängt den usernamen ans passwort. Damit is das Passwort natürlich falsch, und der user fehlt...
wie kann ich festlegen das "1234%+" das Passwort ist und nicht 1234[Variable]? wie kann ich das % mit in die Variable stecken?
net use H: \\linuxkiste\freigabe 1234%+ /user:user /persistent:no <.-- selbes Problem
net use H: \\linuxkiste\freigabe "1234%+" /user:user /persistent:no <.-- selbes Problem Passwort: "1234+user
net use H: \\linuxkiste\freigabe '1234%+' /user:user /persistent:no <.-- selbes Problem PassworT: '1234+user
geht das überhaupt?
Juten Tach,
Ich habe ein kleines Problem. Auf einem Server läuft ein autimatisierter Workflow. Aus Gründen der "Updateoptimierung" (FAULHEIT) habe ich nun einen Festen zeitpunkt festgelegt wann updates automatisch eingespielt werden, und der Rechner neu startet. Auch das automatische herunter/hochfahren habe ich bereits automatisieren können. ABER!!!!
Ich muss ein paar Netzlaufwerke verbinden. Und da eines dieser Netzlaufwerke auf einem Linux-Server liegt muss ich eine authentifizierung mitgeben. bisher sieht mein Script so aus:
set /p PW=1234%+
net use H: \\linuxkiste\freigabe %PW% /user:user /persistent:no
das ganze soll später kompiliert werden und als exe gespeichert werden damit man das Passwort nicht "einfach so" mittels rechtsklick und bearbeiten auslesen kann.
Mein Problem ist, das er das % in dem Passwort scheinbar mit verwurstet denn als %PW% gibt er folgendes aus: 1234+user er "verschluckt" das % und hängt den usernamen ans passwort. Damit is das Passwort natürlich falsch, und der user fehlt...
wie kann ich festlegen das "1234%+" das Passwort ist und nicht 1234[Variable]? wie kann ich das % mit in die Variable stecken?
net use H: \\linuxkiste\freigabe 1234%+ /user:user /persistent:no <.-- selbes Problem
net use H: \\linuxkiste\freigabe "1234%+" /user:user /persistent:no <.-- selbes Problem Passwort: "1234+user
net use H: \\linuxkiste\freigabe '1234%+' /user:user /persistent:no <.-- selbes Problem PassworT: '1234+user
geht das überhaupt?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177582
Url: https://administrator.de/contentid/177582
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Juten Tach,
[OT]kommt da nicht
Ludolf vorne dran?
[/OT]
Für "solche" Fälle, wie
Das man aus ner batch datei ds PW auslesen kann haben die auch nur herausgefunden weil beim systemstart mal kurz das fenster aufflackert wo das PW sichtbar ist, und da
...s kann man durch @vorher und >nul nachher unterbinden.EIn Setlocal würde ich da aber auch noch dranmalen....
setlocal
@set "serial=1234%%+"
@net use H: \\linuxkiste\freigabe %serial% /user:user /persistent:no>nul
Man "könnte" natürlich auch mit @echo off werkeln.....
Gruß