Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ordner mit Leerzeichen am Anfang löschen? (https://www.delphipraxis.net/59690-ordner-mit-leerzeichen-am-anfang-loeschen.html)

100nF 27. Dez 2005 12:17


Ordner mit Leerzeichen am Anfang löschen?
 
Hallo zusammen,

Ich bin gerade eine function am überarbeiten, mit der man ungültige zeichen aus einem string löschen kann, dass man danach eine gültigen pfad hat.
Die Funktion sollte auch funktionieren, wenn man einen Ordner erstellen will. Ich habe dann mal getestet, obs auch funktioniert.
Leider konnte ich dann mit createdirectory einen ordner erstellen mit diesem Namen: " iozhoiu)(&(QWWR)=(QR()QW=iuo " (ohne "")
Nun habe ich das Problem, dass ich den ordner nicht mehr löschen kann, da es ein ungültiger name ist. Umbenennen geht auch nicht.
Ich vermute, dass die leerzeichen am anfang das einzige ist, was zu dem fehler führt. Die Anderen zeichen sollten eigentlich alle erlaubt sein.

Meine frage ist nun, wie ich den ordner nun löschen kann?
(Ich habe dann mal probiert die function zu verbessern, inzwischen wurden es aber schon 3 Ordner) :mrgreen:

Ich hoffe schwer es gibt eine möglichkeit diese ordner zu löschen...

Ups, ich habe grad gesehen dass die leerzeichen gelöscht wurden oben im ordnername...
Also der Ordnername lautet so:
[ca. 5 leerzeichen +] iozhoiu)(&(QWWR)=(QR()QW=iuo [+ ca. 5 leerzeichen]

Gruss
urbanbruhin

SirThornberry 27. Dez 2005 12:20

Re: Ordner mit Leerzeichen am Anfang löschen?
 
geht eigentlich ganz einfach. öffne die Eingabeaufforderung, wechsel in den ordner und lösche dann unter angabe von platzhaltern bzw. setze den Dateinamen in Anführungszeichen.
rd *iozhoiu)*
rd " iozhoiu)(&(QWWR)=(QR()QW=iuo "

himitsu 27. Dez 2005 12:27

Re: Ordner mit Leerzeichen am Anfang löschen?
 
ansonsten könnte man sowas auch machen, indem man den "alten" 8.3-Namen für solche Verzeichnisse/Dateien verwendet ... die bestehen ja nur aus "gültigen" Zeichen.
Vorallem wenn einige Zeichen in der DosBox, wegen der meißt anderen CodePage, nicht funtionieren/anders sind ^^

Die 8.3 Namen kann an sich z.B. per "dir /x" anzeigen lassen.

100nF 27. Dez 2005 12:31

Re: Ordner mit Leerzeichen am Anfang löschen?
 
hi,

danke für deine Antwort.

ich habe aber noch ein kleines Problem...
sry wenn ich mich dumm anstelle, ich habe die Eingabeaufforderung noch nie gebraucht.

also Es stand folgendes in der Eingabeaufforderung:
Zitat:

C:\Dokumente und Einstellungen\Urban>
dann habe ich "Eigene Dateien\" eingegeben, um zuerst mal in diesen Ordner zu wechseln.
Aber das kam raus:
Zitat:

Der Befehl "Eigene" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
was muss ich machen?

@himitsu
sry, irgendwie verstehe ich das nicht ganz :gruebel:

himitsu 27. Dez 2005 12:32

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Ordner wechseln mit CD (Change Directory)

Code:
CD "Eigene Dateien"
[add]
DIR = Ordnerinhalt anzeigen
und mit dem Parameter /x kann man sich den 8.3-Dateinamen anzeigen lassen

du kannst da also sehen welchen 8.3 Dateiname ein(e) Ordner/Datei, mit langem Dateinam hat.

[add2]
du kannst notfalls auch deine Befehle in eine Batchdatei (*.bat) schreiben, diese im gewünschten Verzeichnis ablegen und da ausführen...

100nF 27. Dez 2005 12:43

Re: Ordner mit Leerzeichen am Anfang löschen?
 
ich komm noch nicht ganz mit, aber heisst das, dass ich jetzt
Zitat:

rd "irgendwas"
in den editor schreiben kann und dann als *.bat im verzeichnis abspeichern kann?

und was soll passieren wenn ich dann die datei ausführe?

dahead 27. Dez 2005 12:51

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Zitat:

Zitat von urbanbruhin
und was soll passieren wenn ich dann die datei ausführe?

eine batch datei ist ein listing von verschiedensten befehlen. wenn du die datei ausführst, werden sämtliche befehle der reihe nach ausgeführt, als würdest du sie manuell eintippen.

hier mal einige links zum thema: 1, 2, 3, 4, 5

100nF 27. Dez 2005 13:09

Re: Ordner mit Leerzeichen am Anfang löschen?
 
kann ja sein das ich dumm bin, aber ich blicke immernoch nicht so richtig durch :wall: :wall:

ich habe ehrlich gesagt auch nicht vor, die "batch-sprache" zu lernen, ich will ja nur die ordner löschen.

wenn jemand so eine datei für mich erstellen kann wäre das bestimmt das schnellste und das beste.
ich würde dann die datei sicher auch mal im editor öffnen und schauen was da so drin steht.

@dahead
der erste link gibts gar nicht :gruebel:

himitsu 27. Dez 2005 14:39

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Der erst Link geht bei mir.

Und du brauchst da kine eigene Sprache lernen.

in der Batchdatei kannst du genaus das Selbe machen, wie im DOS-Fenster.
also einfach den gewünschten Befehl da reinschreiben und die Datei ausführen.

100nF 27. Dez 2005 15:36

Re: Ordner mit Leerzeichen am Anfang löschen?
 
also der erste link geht jetzt auch, kA wiso er vorher nicht funzte...

leider bringt mich das auch nicht weiter, da ich noch gar nie etwas mit DOS und so sachen zu tun hatte...
ich bin erst 16, darum hatte ich noch nie einen PC mit DOS, und auch mein englisch ist nicht wirklich gut, darum verstehe ich von den seiten die du gepostet hast nicht wirklich viel.

es wäre sehr nett wenn jemand so eine batch datei erstellen würde, die dann bei mir funktioniert.

noch eine kleine frage: den ordner kann ich mit einer batch datei nicht löschen, sondern nur umbenennen oder?

dahead 27. Dez 2005 15:43

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Zitat:

Zitat von urbanbruhin
es wäre sehr nett wenn jemand so eine batch datei erstellen würde, die dann bei mir funktioniert.

was soll denn die batchdatei alles können? unterschiedliche ordner löschen oder immer den selben?

Zitat:

Zitat von urbanbruhin
noch eine kleine frage: den ordner kann ich mit einer batch datei nicht löschen, sondern nur umbenennen oder?

nein, du kannst ALLES damit machen, was du sonst auch in der eingabeaufforderung tun kannst (programm starten, dateien/verzeichnisse löschen, erstellen, umbenennen, eingabe, ausgabe, usw.)

SirThornberry 27. Dez 2005 15:44

Re: Ordner mit Leerzeichen am Anfang löschen?
 
gehe einfach auf "Start->ausführen" gebe dort "cmd" ein und klicke auf "ok"
Dann das laufwerk wechseln (gegebenfalls nicht notwendig wenn bereits das richtige laufwerk gewählt ist): "e:" (falls du auf laufwerk e wechseln willst).
Zum Verzeichnis wechseln dann "cd e:\ordner1\ordner2\ordner3"
und dann zum löschen (der ordner muss leer sein): "rd ordner4"

du kannst natürlich auch gleich folgendes eingeben: "rd e:\ordner1\ordner2\ordner3\*iozhoiu)*"

100nF 27. Dez 2005 16:25

Re: Ordner mit Leerzeichen am Anfang löschen?
 
also ich habe es jetzt mit einer batch-datei soweit gebracht, dass ich einen ganz normalen ordner löschen kann.
dann habe ich es mit dem ordner probiert, den ich nicht löschen kann, aber auch mit der batch-datei hats nicht funktioniert...

dahead 27. Dez 2005 16:27

Re: Ordner mit Leerzeichen am Anfang löschen?
 
hast du auch die anführungszeichen um den ordnernamen gemacht? (das ist bei ordnern/dateien mit leerzeichen notwendig).

zeig doch mal deine batch-datei.

100nF 27. Dez 2005 17:18

Re: Ordner mit Leerzeichen am Anfang löschen?
 
also so sieht die datei im moment aus:
Zitat:

rd "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\*ihoi*\"
die der ordner, der gelöscht werden soll heisst so:
Zitat:

[ein paar leerzeichen] ihoi(&)(ç&)çOIAFHOI [ein paar leerzeichen]
mit einem ordner, der keine leerzeichen am anfang hat, funktioniert es so.

dahead 27. Dez 2005 17:28

Re: Ordner mit Leerzeichen am Anfang löschen?
 
probier doch mal folgendes:

Delphi-Quellcode:
cd\
cd "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\*ihoi*\"
rd " hoi(&)(ç&)çOIAFHOI"
ich nehme folgendes an:
der ordner " hoi(&)(ç&)çOIAFHOI" befindet sich in "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\*ihoi*\".

100nF 27. Dez 2005 17:44

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Zitat:

ich nehme folgendes an:
der ordner " hoi(&)(ç&)çOIAFHOI" befindet sich in "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\*ihoi*\".
das ist nicht richtig, der ordner " ihoi(&)(ç&)çOIAFHOI " befindet sich in "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\"

dann müsste die batch-datei ja so aussehen oder?
Delphi-Quellcode:
cd\ 
cd "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\"
rd "       ihoi(&)(ç&)çOIAFHOI    "
und die batch-datei muss ich im ordner "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\" befinden oder?

dahead 27. Dez 2005 18:10

Re: Ordner mit Leerzeichen am Anfang löschen?
 
da du in der batch-datei vorher ein cd\ ausführst, was dich auf die unterste verzeichnis-ebene befördert, kannst du das script ausführen, wo du willst.

edit: stimmt nicht ganz. versuch folgendes (absoluter pfad).

Delphi-Quellcode:
rd "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins\        ihoi(&)(ç&)çOIAFHOI    "
funktioniert es nun?

(mal nebenbei, warum löschst du den pfad nicht einfach in einem delphi programm?)

100nF 27. Dez 2005 18:26

Re: Ordner mit Leerzeichen am Anfang löschen?
 
so gehts auch nicht...

Zitat:

(mal nebenbei, warum löschst du den pfad nicht einfach in einem delphi programm?)
ich habs auch schon mit removedirectory versucht, funktioniert aber auch nicht.

ach ja, es würde auch nicht bringen wenn ich den pc im abgesicherten modus starten würde oder?

dahead 28. Dez 2005 00:08

Re: Ordner mit Leerzeichen am Anfang löschen?
 
du willst also einfach nur den ordner löschen, oder? egal unter welchen umständen?

falls ja, ich habe bei mir einen ordner namens " ihoi(&)(ç&)çOIAFHOI " erstellt und konnte ihn einfach via entf. löschen.

100nF 28. Dez 2005 08:29

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
das liegt daran, dass die leerzeichen am anfang automatisch entfernt werden.

starte mal das progrämmchen im anhang in einem ordner den du nicht mehr brauchst, und versuche dann den ordner, der dann entsteht, zu löschen.

Waldteufel 28. Dez 2005 08:42

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Hi.

Also ich würde einfach alle Dateien aus dem Skins-Ordner rauskopieren, die ich noch brauche, und dann den Skins-Ordner löschen. Dann wieder anlegen und die kopierten Dateien wieder reinverschieben.

Wär doch das Einfachste, oder?

Oder geht es hier nur um das generelle Prinzip einen Ordner mit einem seltsamen Namen zu löschen?

100nF 28. Dez 2005 08:47

Re: Ordner mit Leerzeichen am Anfang löschen?
 
soweit dachte ich auch schon, nur gibts da ein kleines problem...
ich kann nämlich auch alle übergeordneten ordner nicht mehr löschen :!:

xaromz 28. Dez 2005 08:53

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Hallo,

versuche doch mal
rd /S "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins"

Das löschet den Ordner "skins" und alles, was drin ist, auch komische Ordner.

Mal nebenbei eine Frage:
Wie erstellt man einen Ordner mit Leerzeichen am Ende? Ich krieg's nämlich nicht hin.

Gruß
xaromz

Waldteufel 28. Dez 2005 09:05

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Hi.

Ich glaube, nicht die Leerzeichen am Anfang verursachen die Probleme, sondern das unscheinbare Zeichen ç (Wo kommt das eigentlich her? Im ersten Post stands noch nicht :gruebel:).

Einen Ordner namens
Code:
"    iozhoiu)(&(QWWR)=(QR()QW=iuo"
(ohne die Anführungszeichen) kann ich nämlich problemlos mit CreateDir() anlegen (die Leerzeichen hinten wurden irgendwie abgeschnitten) und wieder löschen.

100nF 28. Dez 2005 09:22

Re: Ordner mit Leerzeichen am Anfang löschen?
 
Zitat:

versuche doch mal
rd /S "C:\Dokumente und Einstellungen\Urban\Eigene Dateien\Delphi\ShowMp3\skins"
juhuu :bounce1:
vielen dank!!
ich konnte so den ordner skins löschen!!

Zitat:

Mal nebenbei eine Frage:
Wie erstellt man einen Ordner mit Leerzeichen am Ende? Ich krieg's nämlich nicht hin.
Delphi-Quellcode:
createdir(pchar('C:\   ein ordner \'), nil);
Zitat:

Ich glaube, nicht die Leerzeichen am Anfang verursachen die Probleme, sondern das unscheinbare Zeichen ç
das glaube ich nicht, denn es sind nur etwa 5 zeichen die man nicht verwenden darf, und die sind bei allen von meinen ordnern nicht drin.

Zitat:

Wo kommt das eigentlich her? Im ersten Post stands noch nicht
ich habe ja geschrieben, es wurden immer mehr von diesen ordnern :mrgreen:

du kannst einen ordner mit leerzeichen am anfang löschen?? also ich kann nicht mal diesen ordner löschen:
Delphi-Quellcode:
  lösche mich! (wiso werden immer alle leerzeichen am anfang und am ende abgeschnitten??)
so, dank xaromz konnte das problem jetzt gelöst werden :angel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz