Problem mit C:\Windows \
Ich habe es gerade mal ausprobiert unter Windows2000. Mit den Code unten ist das Problem gelöst.
Betrifft die Console: (CMD)
Du kannst Verzeichnisse mit Leerraum schon löschen, wenn
nicht das gleiche Verzeichnis vorhanden ist.
Liegt das Verzeichnis "Test" und "Test" mit Leerraum vor, geht der Löschen von Test mit Leerraum nicht!
Aber: Der nachfolgende Delphi Code löscht doch das Verzeichnis, man beachte den Leerraum und das Backslash am Ende. Ich habe es bei mir auf das Systemverzeichnis C:\
winnt ausprobiert. Unter XP funktioniert es auch!
Delphi-Quellcode:
Program clear;
uses SysUtils;
{$APPTYPE CONSOLE}
begin
CreateDir('
c:\Windows \');
writeln('
c:\Windows \ erstellt.');
CreateDir('
c:\Winnt \');
writeln('
c:\Winnt \ erstellt.');readln;
if DirectoryExists('
C:\winnt \')
then
begin
removedir('
C:\Winnt \');
if not DirectoryExists('
C:\winnt \')
then
writeln('
Loeschen erfolgreich.')
else
writeln('
Loeschen nicht erfolgreich.');
end;
if DirectoryExists('
C:\windows \')
then
begin
removedir('
C:\Windows \');
if not DirectoryExists('
C:\winnt \')
then
writeln('
Loeschen erfolgreich.')
else
writeln('
Loeschen nicht erfolgreich.');
end;
Readln;
End.
Quick & dirty Code! Readln bedeutet, dass man ein ENTER drücken muss.
Ich vermute, dass intern, wenn via Console versucht wird zu löschen, der Leerraum nicht weitergereicht wird.
Falls das Löschen nicht geht, hast Du einen Trojaner/Virus. Aber auch da gäbe es eine Lösung.
Nachtrag: Und Ansicht aktualisieren, damit man nicht erschrickt!