SetX und Benutzervariablen entfernen?!
Hallo zusammen,
ich habe 2 kleine Fragen...
Frage 1: ist es möglich per batch BENUTZERvariablen zu ENTFERNEN? (setx variable "") macht diese ja nur "leer" aber entfernt sie nicht. - wenn ja: kann mir jemand sagen wie?
Frage 2:
ich habe folgendes kleines scriptchen...
Wenn ich nun eine shell aufmache, und in dieser Shell das Script ausführe, funktioniert alles wie es soll. Wenn ich jedoch das Script per Doppelklick ausführe, und halt german oder english eingebe (also nicht auf error läuft) ist es sozusagen in einer "endlos" schleife. Wenn ich jedoch auf error laufe funktioniert es Tadellos.
Jemand ne ahnung wie ich dieses script per doppelklick "ordentlich" ausführen kann?
ich habe 2 kleine Fragen...
Frage 1: ist es möglich per batch BENUTZERvariablen zu ENTFERNEN? (setx variable "") macht diese ja nur "leer" aber entfernt sie nicht. - wenn ja: kann mir jemand sagen wie?
Frage 2:
ich habe folgendes kleines scriptchen...
::@echo off
set /p lic="blahhhhhh"
set /p lan="Bitte Sprache angeben (german|english): "
if "%lan%"=="english" (
set lan1=Englisch
) else (
if "%lan%"=="german" (
set lan1=Deutsch
) else (
goto err1
)
)
echo blahhhhh: %lic%
echo Die Sprache ist: %lan1%
setx sprach %lan%
setx irgendwas 52%lic%
pause
exit
:err1
echo ERROR
echo Sprache ist nicht english oder german.
echo ERROR
pause
Wenn ich nun eine shell aufmache, und in dieser Shell das Script ausführe, funktioniert alles wie es soll. Wenn ich jedoch das Script per Doppelklick ausführe, und halt german oder english eingebe (also nicht auf error läuft) ist es sozusagen in einer "endlos" schleife. Wenn ich jedoch auf error laufe funktioniert es Tadellos.
Jemand ne ahnung wie ich dieses script per doppelklick "ordentlich" ausführen kann?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 174096
Url: https://administrator.de/contentid/174096
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
6 Kommentare
Neuester Kommentar
moin,
ich habe ein paar Gegenfragen....
hrzeichen"
Dort hast du die "" ja gesetzt, aber nicht überall
<Edit> - wtf ist %lan% und was soll%lan1%?
Bist du dir sicher, dass hier die Version steht, von der du deine Problematik geschildert hast?
</Edit>
Gruß
ich habe ein paar Gegenfragen....
Frage 1: ist es möglich per batch BENUTZERvariablen zu ENTFERNEN? (setx variable "") macht diese ja nur "leer" aber entfernt sie nicht. - wenn ja: kann mir jemand sagen wie? face-smile
- nunja - eigentlich ist eine leere Variable immer auch eine gelöschte und im Zweifel kannst du Benutzervariablen immer löschen, wenn du die im Kontext des Benutzers ausführst.
- dann verstehe ich nicht, warum der User "english" ein/vertippen soll und du dann eh Englisch draus zimmerst - ein e oder d wäre doch einfacher...
- leider haben die Codetags hier immer eine Nebenwirkung - hinter jeder Zeile ist ein Leerzeichen - von daher und weil der gelernte Bätchelohr es eh so haben will...
set "lan1"=="Englisch"
denn set test= (also leerzeichen), löscht tatsächlich nicht die Variable, sondern gibt Ihr den Wert "Lee- dein
GewirrSpagehtticode von Zeile 5-12....
if not "%lan%"=="english" if not "%lan%"=="german" goto err
Dort hast du die "" ja gesetzt, aber nicht überall
<Edit> - wtf ist %lan% und was soll%lan1%?
Bist du dir sicher, dass hier die Version steht, von der du deine Problematik geschildert hast?
</Edit>
Gruß
Hallo der-blob!
Die Beantwortung der Frage 1 überlasse ich mal MS themselves:
aber loswerden (zumindest unter XP soeben erfolgreich getestet) ...
Zu 2. hat T-Mo ja schon einiges angemerkt - ich würde aber jedefalls dem "
Grüße
bastla
Die Beantwortung der Frage 1 überlasse ich mal MS themselves:
You cannot use the setx command to remove values that have been added to the local or system environments. You can use set with a variable name and no value to remove a corresponding value from the local environment.
"User"-Variablen solltest Du mitsetx Var ""
Zu 2. hat T-Mo ja schon einiges angemerkt - ich würde aber jedefalls dem "
if
" noch ein "/i
" spendieren ...Grüße
bastla
Moinsen,
Bilder sagen mehr als 1.000 Worte...
Glauben, heisst nicht wissen und auch wenn deine Frage falsch einsortiert ist (Verschieben kannst du das übrigens selber - uns Biber ist heute bestimmt im Mondaymode) - Wenn du hier nach einer Batchlösung fragst, die keine Kaffe kochen soll, kriegst du auch ne funktionierende Antwort.
Wäe ja noch schöner, wenn ausgerechnet wir hier "sowas" nicht praktikantisch lösen könnten....
@bastla - logisch ein Ieh (vom IF) kann alleine nicht stehen, das /i hatte ich einfach vorausgesetzt, aber gut, das deine Augen immer mit dabei sind
Gruß
Bilder sagen mehr als 1.000 Worte...
Vielleicht kann mir ja doch jemand weiterhelfen, glaube es jedoch weniger
Glauben, heisst nicht wissen und auch wenn deine Frage falsch einsortiert ist (Verschieben kannst du das übrigens selber - uns Biber ist heute bestimmt im Mondaymode) - Wenn du hier nach einer Batchlösung fragst, die keine Kaffe kochen soll, kriegst du auch ne funktionierende Antwort.
Wäe ja noch schöner, wenn ausgerechnet wir hier "sowas" nicht praktikantisch lösen könnten....
reg delete HKCU\Environment /v qwe /f
@bastla - logisch ein Ieh (vom IF) kann alleine nicht stehen, das /i hatte ich einfach vorausgesetzt, aber gut, das deine Augen immer mit dabei sind
Gruß