Das gute alte Dos: Problem mit Batch-Datei

Von: , Frage gestellt am Sa, 21. Jun 2008

Hallo,

ich wollte unter Windows XP, dass ein Benutzer bei der Anmeldung einen bestimmten Text sieht.
Dachte ich ganz einfach, machste ne Batch-Datei.....
Damit der Benutzer das nicht jedesmal zu sehen bekommt, sollte sie sich nach der Textanzeige selbst löschen.
Dazu habe ich folgende Datei geschrieben:

@echo off
set var=Nachricht: Text
@echo off
echo %var%
@echo off
pause
del "C:\Dokumente und Einstellungen\User\Startmenü\Programme\Autostart\210608.bat"

trotzdem löscht er die Datei nach der Anzeige nicht. Wenn ich das pause mal nach dem del Befehl setze, sagt er mir immer "Das System kann den angegebenen Pfad nicht finden".
Wenn ich aber eine Datei auf dem Desktop angebe, dann löscht er sie ohne zu meckern. Ich versteh das nicht, warum er angeblich den Autostart-Ordner nicht findet.
Kann jemand helfen?

Gruß

9 Antworten zu dieser Frage

  1. Antwort von nach 12 Minuten 0 hilfreich
    Re: Das gute alte Dos: Problem mit Batch-Datei

    er findet sie schon, aber ein programm kann sich wenn es aktiv ist nicht selbst löschen, weils ja dann seinen eigenen del befehl löscht und somit garnichts passiert [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 12 Stunden 0 hilfreich
      Re^2: Das gute alte Dos: Problem mit Batch-Datei

      Hallo,

      danke für eure Antworten. heißt Dein Benutzer tatsächlich "User"?
      Nein, der Benutzer heißt natürlich nicht User. Ich hab ja auch anstatt des Textes "Text" hingeschrieben, den Benutzer habe ich abgeändert. weil der Pfad nicht in der 8+3-Interpunktion geschrieben ist.
      Ja, das stimmt, ich hab das extra mit Anführungszeichen geschrieben, damit er auch den Ordner "Dokumente und Einstellungen" findet. er findet sie schon, aber ein programm kann sich wenn es aktiv ist nicht selbst löschen, weils ja dann seinen eigenen del befehl löscht und somit garnichts passiert
      Hab ich auch gedacht, habs aber nachgelesen und dann auf dem Desktop ausprobiert. Als Pfad C:\.....\Desktop\210608.bat angegeben und siehe da, nachdem er pause ausgeführt hatte, ich also eine Taste gedrückt hatte, löschte er die Datei und das Fenster schloss.....
      Außerdem hab ich es auch so probiert, dass er ein anderes Programm startete, das nicht im Autostart-Ordner lag, das dann die Datei löschen sollte. Ging auf dem Desktop, aber nicht im Autostart.

      Vielleicht ist der Autostart-Ordner irgendwie schreibgeschützt oder so was, was ich mir aber nicht vorstellen kann, da ich ja im Explorer aus dem Ordner Dateien löschen kann.


      Gruß

  2. Antwort von nach 21 Minuten 0 hilfreich
    Re: Das gute alte Dos: Problem mit Batch-Datei

    Hallo, del "C:\Dokumente und
    Einstellungen\User\Startmenü\Programme\Autostart\210608.bat"

    trotzdem löscht er die Datei nach der Anzeige nicht. Wenn ich
    das pause mal nach dem del Befehl setze, sagt er mir immer
    "Das System kann den angegebenen Pfad nicht finden".
    weil der Pfad nicht in der 8+3-Interpunktion geschrieben ist.

    Gruß
    Christian

    • Antwort von nach 8 Stunden 0 hilfreich
      Re^2: Das gute alte Dos: Problem mit Batch-Datei

      Moin, Christian, del "C:\Dokumente und
      Einstellungen\User\Startmenü\Programme\Autostart\210608.bat"
      weil der Pfad nicht in der 8+3-Interpunktion geschrieben ist.
      die betrifft nur Dateinamen. Wegen der Gänsefüßchen vorn und hinten sollte DOS den Namen schon fressen, wahrscheinlich gibt es aber keinen User "User".

      Gruß Ralf

      • Antwort von nach 12 Stunden 0 hilfreich
        Re^3: Das gute alte Dos: Problem mit Batch-Datei

        nein, das stimmt nich, hatte das problem ach schon! also du musst denn ordner dokumente und einstellungen in die 8+3 interpunktion bringen [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  3. Antwort von nach 8 Stunden 0 hilfreich
    Re: Das gute alte Dos: Problem mit Batch-Datei

    Moin, samohtt, del "C:\Dokumente und
    Einstellungen\User\Startmenü\Programme\Autostart\210608.bat"
    heißt Dein Benutzer tatsächlich "User"?

    Gruß Ralf

  4. Antwort von nach 13 Stunden 0 hilfreich
    Des Rätsels (halbe) Lösung

    Hi samohtt,

    nicht die 8.3-Notation macht Ärger, sondern der Zeichensatz. DOS arbeitet mit einem anderen Zeichensatz als Windows, deshalb erkennt es das ü in Startmenü nicht als solches, sondern liest es als ³. Wie sich der Zeichensatz umstellen lässt, weiß ich nicht mehr, das ging früher in der Config.sys mit codepage und chcp (oder so ähnlich).

    Zum Testen habe ich den String
    C:\Dokumente und Einstellungen\<user>\Startmenü\Programme\Autostart
    geändert in
    C:\Dokumente und Einstellungen\<user>\Startm~1\Programme\Autostart,
    da löscht der .bat ohne Murren.

    Gruß Ralf

    • Antwort von nach 15 Stunden 0 hilfreich
      Re: Des Rätsels (halbe) Lösung

      Hey Ralf,

      danke, es funktioniert wunderbar. Da hätte ich ja auch drauf kommen können, dass er keine Umlaute kennt.

      Naja, jetzt funktionierts.

      Gruß
      samohtt [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach einem Tag 0 hilfreich
      Re: Des Rätsels (halbe) Lösung

      Hi! Zum Testen habe ich den String
      C:\Dokumente und
      Einstellungen\<user>\Startmenü\Programme\Autostart
      geändert in
      C:\Dokumente und
      Einstellungen\<user>\Startm~1\Programme\Autostart,
      da löscht der .bat ohne Murren.
      Ich mach das immer ziemlich unelegant mit einem "*" an den ominösen Stellen - glücklicherweise sind sich noch keine zwei Dateinamen in die Quere gekommen ...

      Gr*e
      Tomh

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!