Griever: Batch. Sonderzeichen.

Hi.

Ich möchte ggf folgende Sonderzeichen in Batch-Dateien verwenden können.

z. B.

echo < >> test.txt

Doch das funktioniert nicht ... Wie kann ich es bewirken, dass ich folgende Zeichen in eine Datei schreiben kann:

<

"
:
;

Mit den anderen (;:") habe ich es noch nicht probiert. aber ich denke mal, dass batch da auch meckern wird ... :)

Gibt es da irgend ein Trick, den man verwenden kann?

MFG
Griever

  1. Hallo Griever,

    eine Google Suche nach "batch zeichen maskieren" bringt dich ziemlich schnell zu einer Lösung.

    Dies ist mitlerweile der dritte Thread, der mir auffällt (1, 2), den du zu einer Problematik bzw. seinen Folgeproblemen eröffnest. Da die auftretenden Probleme alle aufeinander aufbauen, hättest du in deinem Ursprungsposting bleiben sollen.

    Außerdem solltest du deine Suchstrategie überarbeiten, denn alle bisher auftretenden Probleme hättest du in sehr kurzer Zeit selbst z.b. via google recherchieren können.

    so long
    Ole
    (8-)>

    --
    Stickstoff eignet sich nicht für Handarbeiten.
  2. Jetzt habe ich ein weiteres Problem.

    In meiner Batch-datei möchte ich eine Abfrage aufgrund einer Benutzereingabe abfangen. Kurz. Wenn der Benutzer z. B. goout eingibt, dass die Funktion eine Letzte Zeile in die Datei "cht.htm" z. B. schreibt und beendet ...

    Ist es denn auch möglich, ein Fenster (z. B. eine HTML-Datei) anstatt zu öffnen, auch wieder zu schließen, wenn sie durch die bat-Datei geöffnet wurde?

    MFG
    Griever

    1. Hi

      Ist es denn auch möglich, ein Fenster (z. B. eine HTML-Datei) anstatt zu öffnen, auch wieder zu schließen, wenn sie durch die bat-Datei geöffnet wurde?

      Du könntest es mit taskkill probieren, gibt es allerdings afaik nur unter XP pro.

      TASKKILL [/S System [/U Benutzername [/P [Kennwort]]]]
      { [/FI Filter] [/PID Prozesskennung | /IM Abbildname] } [/F] [/T]

      oder du nutzt zusatzsoftware wie z.B.pskill

      so long
      Ole
      (8-)>

      --
      Stickstoff eignet sich nicht für Handarbeiten.
      1. Du könntest es mit taskkill probieren, gibt es allerdings afaik nur unter XP pro.

        Jup. XP-Pro. Genau das ... :)

        (was bedeutet afaik?)

        TASKKILL [/S System [/U Benutzername [/P [Kennwort]]]]
        { [/FI Filter] [/PID Prozesskennung | /IM Abbildname] } [/F] [/T]

        So. Und wie kann ich jetzt direkt ein Internet-Explorer-Fenster schließen?

        oder du nutzt zusatzsoftware wie z.B.pskill

        Nein. Leider nicht möglich ... :/

        so long
        Ole
        (8-)>

        Danke für den Tipp ... Aber ich komm damit noch nicht ganz so klar ... Hab im cmd.exe erstmal via TASKKILL /? alles durchgelesen. Aber ein Beispiel wäre cool. ... Ich schau nochmal unter google ...

        MFG
        Griever

        1. Hi

          der erste link bei Googlesuche nach "taskkill" bringt dich ins Microsoft TechNet. Da gibt es auch ein paar Beispiele zur Anwendung.

          Ist schon kryptisches Zeug ;)

          so long
          Ole
          (8-)>

          --
          Stickstoff eignet sich nicht für Handarbeiten.
          1. Hi

            der erste link bei Googlesuche nach "taskkill" bringt dich ins Microsoft TechNet. Da gibt es auch ein paar Beispiele zur Anwendung.

            |O.o|
            Aber wie kann ich auf mein Fenster zugreifen. Also ... ich habe eine HTML-Datei geöffnet, die da heißt cht.html. Nun habe ich vor, bei einem Verlassen der Batch-Datei (ende also), dieses Fenster wieder zu schließen, insofern es noch existiert ...

            Ist schon kryptisches Zeug ;)

            Das merk ich ...

            Hab mir jetzt so ein "exe"-Ding runtergeladen. Aber irgendwie funktioniert das nicht so, wie es dort beschrieben wird ...

            ich habe es mit call versucht ... Nix.
            ich habe es mit start versucht ... nix.
            ich habe es ohne was versucht ... auch nix.

            start closezip.exe cht.html

            Normalerweise müßte er das machen, oder?

            Ich komm damit nicht klar ... Bräuchte da gegebenenfalls mal ein anschaubares beispiel. Also einen kleinen code, der z. B. Notepad öffnet und dann wieder schließt ... Das wäre sehr hilfreich ...

            MFG
            Griever

            1. Hi Griever,

              nicht das ich mich mit der Materie groß auseinandergesetzt hätte, jedoch vermute ich, würde

              taskkill /im notepad.exe /t

              Notpad schließen.
              Du greifst nicht auf Fenster, sondern auf Prozesse (Tasks) zu.

              Btw. dieser Thread ist nicht zufälligerweise auch von dir?

              so long
              Ole
              (8-)>

              --
              Stickstoff eignet sich nicht für Handarbeiten.
              1. Hi Griever,

                nicht das ich mich mit der Materie groß auseinandergesetzt hätte, jedoch vermute ich, würde

                »»

                taskkill /im notepad.exe /t

                Das habe ich verstanden ...

                Notpad schließen.
                Du greifst nicht auf Fenster, sondern auf Prozesse (Tasks) zu.

                Ok. Ist es denn möglich, ein Fenster zu öffnen und dann sowas wie eine ID abzuspeichern, mit der man dann das Fenster ggf. wieder schließen kann? Gutes Beispiel in Javascript:

                  
                var f = window.open("bla.htm","bla","")  
                f.close()  
                
                

                Btw. dieser Thread ist nicht zufälligerweise auch von dir?

                Ist von meinem Kollegen ... Aber ich könnte auch sagen, es sei von mir. Würde das selbe sein ...

                MFG
                Griever

                1. hi

                  Ok. Ist es denn möglich, ein Fenster zu öffnen und dann sowas wie eine ID abzuspeichern, mit der man dann das Fenster ggf. wieder schließen kann? Gutes Beispiel in Javascript:

                  Du öffnest kein Fenster, sondern startest einen Prozess. Mir ist jedoch keine Möglichkeit mittels Batch bekannt, beim Start eines solchen die Prozess-ID zurück zu bekommen.

                  so long
                  Ole
                  (8-)>

                  --
                  Stickstoff eignet sich nicht für Handarbeiten.
                  1. Du öffnest kein Fenster, sondern startest einen Prozess. Mir ist jedoch keine Möglichkeit mittels Batch bekannt, beim Start eines solchen die Prozess-ID zurück zu bekommen.

                    Naja. Dann lässt es sich nicht ändern.

                    Aber vielleicht kennst du eine Antwort auf meine andere Frage wegen der If-Anweisung, hm?

                    MFG
                    Griever

                    1. Hi

                      Aber vielleicht kennst du eine Antwort auf meine andere Frage wegen der If-Anweisung, hm?

                      Was genau hast du denn schon versucht?

                      so long
                      Ole
                      (8-)>

                      --
                      Stickstoff eignet sich nicht für Handarbeiten.
                      1. Aber vielleicht kennst du eine Antwort auf meine andere Frage wegen der If-Anweisung, hm?

                        Was genau hast du denn schon versucht?

                        Eigentlich folgendes:

                        IF %msage%==logout goto e

                        oder

                        IF %msage%.==logout goto e

                        Aber der ballert mich schon raus, wenn in msage z. B. "Hallo da" steht.

                        Einzelne Wörter sind ok. Aber sowie ein Leerzeichen drin ist, ist es vorbei. Da beendet sich die Batch datei ohne fehlermeldung ... Aber auch ohne, das was nach e kommt, auszuführen ...

                        MFG
                        Griever

                        1. hi

                          funktioniert

                          IF "%msage%"==logout goto e

                          vielleicht?

                          so long
                          Ole
                          (8-)>

                          --
                          Stickstoff eignet sich nicht für Handarbeiten.
                          1. IF "%msage%"==logout goto e

                            vielleicht?

                            Das wäre auch ne Möglichkeit.

                            Deine Vermutung war garnichtmal so falsch

                            Damit gehts.

                            IF /I "%msage%" EQU "getout" goto e

                            So. Jetzt tut sich mir die nächste Frage auf. Gibt es sowas wie ein "onclose"-Parameter oder ähnliches? Kann man das (wenn auch um mehrere Ecken gedacht) abfangen?

                            Wenn nich, ist ok. Ist ja lediglich ne frage.

                            MFG
                            Griever