Top-Themen

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 SetX und Benutzervariablen entfernen?!

Mitglied: der-blob

der-blob (Level 1) - Jetzt verbinden

04.10.2011, aktualisiert 15:24 Uhr, 8123 Aufrufe, 6 Kommentare

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...

01.
::@echo off
02.
set /p lic="blahhhhhh"
03.
set /p lan="Bitte Sprache angeben (german|english): "
04.
if "%lan%"=="english" (
05.
set lan1=Englisch
06.
) else (
07.
if "%lan%"=="german" (
08.
set lan1=Deutsch
09.
) else (
10.
goto err1
11.
)
12.
)
13.

14.
echo blahhhhh: %lic%
15.
echo Die Sprache ist: %lan1%
16.

17.
setx sprach %lan%
18.
setx irgendwas 52%lic%
19.
pause
20.
exit
21.

22.
:err1
23.
echo ERROR
24.
echo Sprache ist nicht english oder german.
25.
echo ERROR
26.
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?
Mitglied: 60730
04.10.2011 um 11:32 Uhr
moin,

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 "Leehrzeichen"

  • dein GewirrSpagehtticode von Zeile 5-12....
01.
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ß
Bitte warten ..
Mitglied: der-blob
04.10.2011 um 11:47 Uhr
Hallo, erstmal Danke für das auflösen von mein gewirr... - es funktioniert zwar, aber sieht halt naja aus, aber soll auch nicht toll aussehen, ist nur eine "notlösung".

ich hätte vielleicht bisschen mehr dazu Schreiben sollen *schäm*

Ich weis mit set blah= hat man dann den tollen wert leer... jedoch bringt mir dies in diesem zusammenhang nichts.
Denn die Variablen welche ich definier, sind schon als Systemvariablen vorhanden, und sollen nur Temporär (wie gesagt notlösung) umgebogen werden und da mehrere Programme auf diese Variablen zugreifen. ist es am einfachsten (soweit ich weis) einfach Benutzervariablen zu definieren, da diese ja "aussagekräftiger" sind. Und die Systemvariablen mit ;.... zu erweitern ist Theoretisch möglich, jedoch fehlen den Usern dazu die Rechte. Und am ende der Woche sollen diese einfach wieder gelöscht werden, per Schedule Task, oder 2. Script ist ja am ende egal.

Und das mit den aus english -->Englisch ist nur damit man "Englisch" lesen kann.. im Prinzip ist es total egal ob man nun E, G bzw. D eintippt kann mir ja entsprechend meine Variablen raus"saugen".

Ich hoffe damit ist mein Problem besser nachzuvollziehen.

€:
zu den %lan% und %lan1%, wie gesagt das %lan1% ist nur für das echo da... kann man theoretisch(auch praktisch) Komplett rauswerfen... - denn verwendet wird ja das %lan% also, german oder english.


Gruß
Bitte warten ..
Mitglied: bastla
04.10.2011 um 12:52 Uhr
Hallo der-blob!

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 mit
setx Var ""
aber loswerden (zumindest unter XP soeben erfolgreich getestet) ...
Zu 2. hat T-Mo ja schon einiges angemerkt - ich würde aber jedefalls dem "if" noch ein "/i" spendieren ...

Grüße
bastla
Bitte warten ..
Mitglied: der-blob
04.10.2011 um 13:51 Uhr
Hallo,
danke für die Antwort, jedoch das ich mit setx var "" die variable "loswerde" wusst ich schon, nur das bringt mich an der stelle nicht genau weiter (siehe bild). - deshalb fragte ich ob da jemand noch was anderes kennt


9cab5892a4497d4af768bed156aae5e6 - Klicke auf das Bild, um es zu vergrößern


- Irgendwie glaube ich immer mehr das ich mit entweder besch... Ausgedrückt habe oder es einfach keine - für mich in diesem fall - funktionierende Lösung gibt.

Denn ne "leere" BENUTZERvariable bringt mir ja auch nichts, wenn später wieder die SYSTEMvariable genutzt werden soll..

Vielleicht kann mir ja doch jemand weiterhelfen, glaube es jedoch weniger. Werde heute Nachmittag Beitrag als gelöst makieren, mit der erkenntnis, das es nicht machbar ist

Danke für eure Unterstüzung, denn ich glaub wenn ihr da schon nich weiter wisst geht da wirklich nichts.
Bitte warten ..
Mitglied: 60730
04.10.2011 um 14:16 Uhr
Moinsen,

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ß
Bitte warten ..
Mitglied: der-blob
04.10.2011 um 15:23 Uhr
Danke, ich dachte am anfang mit

...BENUTZERvariablen zu ENTFERNEN..

Hatte ich mich klar ausgedrückt. - War wohl nicht der fall :D -

Aber da so eine ähnliche Antwort wie von dir kam, dachte ich nen Bild wär angebracht..



Und das glauben != wissen ist, weiss ich sonst hätt ich geschrieben "es kann mir keiner weiterhelfen" :P

Vielen dank, nachdem ich den lieben Thread verschoben habe, kommt der grüne Haken zum einsatz


Gruß
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail

EMails werden nach 3 Monaten entfern - Einstellung

Frage von staybbOutlook & Mail5 Kommentare

Hallo, ich habe bei einem Postfach das Problem, dass in Outlook alle Mails älter wie 3 Jahre verscheinden und ...

Neue Wissensbeiträge
Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 19 StundenInternet3 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Router & Routing

Zyxel VMG 1312 B30A - Firmwareupdate nur im "privaten" Firefox Modus möglich

Tipp von the-buccaneer vor 1 TagRouter & Routing2 Kommentare

Hatte hier ein Zyxel 1312 das ums verrecken kein Firmwareupdate durchführen wollte. Datei ist auswählbar, dann kommt der Fortschrittskreisel ...

Windows 7

Windows 7 u. Server 2008 (R2) SHA-2-Update kommt am 12. März 2019

Information von kgborn vor 2 TagenWindows 75 Kommentare

Kleine Info für die Admins der oben genannten Maschinen. Ab Juli 2019 werden Updates von Microsoft nur noch mit ...

Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 4 TagenFirewall2 Kommentare

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Heiß diskutierte Inhalte
Hardware
PC im Selbstbau, Workstation, mittelklasse Gaming
gelöst Frage von MrRobot1997Hardware21 Kommentare

Hallöchen Leute, ich bin seit einigen Jahren leider nicht mehr wirklich im Bild, wenn es um die Hardware und ...

Datenbanken
PHP Fatal error: Uncaught Error: Call to undefined function oci connect
Frage von PlanitecXDatenbanken20 Kommentare

Hallo Zusammen, ich sitze seit Tagen am Problem das ich keine PHP Anwendung mit Anbindung zu Oracle zum laufen ...

Hardware
Welchen Shop Großhandel für EDV?
Frage von opc123Hardware17 Kommentare

Hallo, ich finde kein passendes Thema. Ich suche einen Großhändler für alltägliche EDV Ausstattung: Ethernet Kabel, Switche, Stromverteiler, Handy´s, ...

Windows Server
User auf Server Install-Rechte geben
gelöst Frage von killtecWindows Server17 Kommentare

Hi, ich möchte auf mehreren W2016 Servern einem bestimmten User das Recht zum Installieren von Programmen geben. Er soll ...