8 Replies Latest reply on Oct 12, 2006 11:32 PM by FKeller@meffert.com

    Prozentzeichen entwerten

    FKeller@meffert.com Rookie
      Hallo Community,

      Ich stehe zur zeit vor folgendem Problem:

      Angenommen ich mache folgende If Abfrage:  If %Software%=%Microsoft%  , dann werden die beiden Variablen verglichen. Aber wie mache ich das, wenn er die Variable %Software% mit dem Textinhalt  %Microsoft% vergleichen soll, sprich ich möchte die erste Variable %Software% mit dem Textinhalt %Microsoft% vergleichen.  Wie ist das möglich ein Prozentzeichen zu entwerten, sodass %Microsoft% nicht als Variable erkannt wird sondern als Text.?

      Hoffe man versteht meine Frage

      Vielen Dank und Grüße,

      Florian
        • 1. Re: Prozentzeichen entwerten
          Torry Apprentice
          Hi Florian,

          einfach doppelte "%%" Zeichen nehmen.

          IF %Software%='%%MICROSOFT%%'
          • 2. Re: Prozentzeichen entwerten
            FKeller@meffert.com Rookie

            Hi Florian,

            einfach doppelte "%%" Zeichen nehmen.

            IF %Software%='%%MICROSOFT%%'



            So funktioniert aber nicht.Liegt das vielleicht daran, dass meine Abfrage so ist:

            IF %Software%='%%Software%%'  ist? Also oben das sollte nur zur Verständlichung sein. Die Variable Software soll den Text %Software% enthalten, aber leider funktioniert deine Möglichkeit nicht.
            • 3. Re: Prozentzeichen entwerten
              Torry Apprentice
              Hi Florian

              Set('SOFTWARE','%MICROSOFT%')
              If %SOFTWARE%='%%MICROSOFT%%'
              MsgBox
                %SOFTWARE%
              EndProc
              Else
              MsgBox
                nix
              EndProc


              hier ein Beispiel.
              • 4. Re: Prozentzeichen entwerten
                FKeller@meffert.com Rookie
                Dein Script funktioniert super!! Aber mein Script läuft trotzdem nicht. Das Problem ist, wenn mir ein WMISimpleQuerie eine Variable liefert und ich diese Variable mit if Abfrage gehts nicht, obwohl das richtige in der Variable steht.

                Beispiel:

                WMISimpleQuerie '\\.\root\cimv2\','Win32_Printer','ServerName=\\abcserver','vPrinter_Sharename')
                MsgBox 'Variable Printer_Sharename enthält den Wert: %vPrinter_Sharename%'
                If '%vPrinter_Sharename%'='%%vPrinter_Sharename%%'
                   MsgBox 'funktioniert'
                else
                   MsgBox 'funktioniert nicht'


                Leider funktioniert dieses Scriptgebilde nicht. Lasse ich die WMI Abfrage draussen und setzte die Variable mit SET, dann funktionierts?! Ich lasse mir extra nochma die Variable ausgeben und es steht exakt das drinne was drinnen stehen soll.
                Was mache ich falsch? Und danke das du mir hilfst!
                • 5. Re: Prozentzeichen entwerten
                  Torry Apprentice
                  Hallo Michael,

                  aber die Variable hat doch nie den WERT "%vPrinter_Sharename%" sondern einen wirklichen Wert mit dem Sharenamen eines Druckers.
                  Also vergleicht deine IF Abfrage immer so:
                  IF DRUCKERSHARE = %vPrinter_Sharename%

                  Verstehe jetzt nicht ganz wo du hinwillst was soll das Script den machen?
                  • 6. Re: Prozentzeichen entwerten
                    FKeller@meffert.com Rookie
                    Der hat den Wert des Druckershares das ist richtig. Aber wenn kein Druckershare vorhanden ist, schreibt er in die Variable vPrinterSharename den Wert '%vPrinterSharename%'.
                    Mein Script löscht solange die Netzwerkdrucker, bis keiner mehr da ist, und dann steht in der Variable der obige Wert. Hat die Variable diesen Wert soll kann er aufhören mit dem löschen (also if '%vprintersharename%'='%%vprintersharename%%' dann schleife verlassen...)

                    Das war mein Ansatz, hat auch funktioniert, nur er muss auch aus der "Löschschleife" rauskommen und dazu hatte ich den If Befehl genommen.
                    • 7. Re: Prozentzeichen entwerten
                      SBRUTSCH Expert
                      Dann ist die Variable doch nicht gefüllt. Also kannst du doch nach leerem Wert abfragen:
                      IF DRUCKERSHARE = ''
                      • 8. Re: Prozentzeichen entwerten
                        FKeller@meffert.com Rookie
                        Das Wars !

                        Also kann ich prinzipiell sagen, wenn ich mir eine  Variable ausgeben lassen und es steht der Variablennamen in der Messagbox drin, dass die Variable ohne Inhalt ist?
                        Vielen Dank für eure Hilfe!!
                        Da hätt man auch selbst drauf kommen können ...