Das gute alte Dos: Problem mit Batch-Datei

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ß

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]

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

Moin, samohtt,

del „C:\Dokumente und
Einstellungen\User\Startmenü\Programme\Autostart\210608.bat“

heißt Dein Benutzer tatsächlich „User“?

Gruß Ralf

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

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]

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ß

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\Startmenü\Programme\Autostart
geändert in
C:\Dokumente und Einstellungen\Startm~1\Programme\Autostart,
da löscht der .bat ohne Murren.

Gruß Ralf

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]

Hi!

Zum Testen habe ich den String
C:\Dokumente und
Einstellungen\Startmenü\Programme\Autostart
geändert in
C:\Dokumente und
Einstellungen\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