rd hilfe!!!

  • #1
L

Luftfilter

Guest
Hallo zusammen,

wenn ich folgendes Verzeichnis habe:
C:\test\test1

möchte ich im test1 sämtliche Dateien und Verzeichnisse löschen, aber
nicht test1 selber!
howto???

Danke schonmal!

Gruß

Luftfilter
 
  • #2
ja dann geh einfach in den ordner test1 und lösche alles was drinnen ist
 
  • #3
Geht mit rd meines Wissens nicht, da die einzigen Parameter /q /s sind und die aber dafür sorgen, daß das Verzeichnis selbst ebenfalls mitgelöscht wird.
 
  • #4
mit
Code:
del /Q *.*
kannt Du alle Dateien im aktuellen Verzeichnis löschen.

Code:
C:\test>dir /?
Displays a list of files and subdirectories in a directory.

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

  [drive:][path][filename]
              Specifies drive, directory, and/or files to list.

  /A          Displays files with specified attributes.
  attributes   D  Directories                R  Read-only files
               H  Hidden files               A  Files ready for archiving
               S  System files               -  Prefix meaning not
  /B          Uses bare format (no heading information or summary).
  /C          Display the thousand separator in file sizes.  This is the
              default.  Use /-C to disable display of separator.
  /D          Same as wide but files are list sorted by column.
  /L          Uses lowercase.
  /N          New long list format where filenames are on the far right.
  /O          List by files in sorted order.
  sortorder    N  By name (alphabetic)       S  By size (smallest first)
               E  By extension (alphabetic)  D  By date/time (oldest first)
               G  Group directories first    -  Prefix to reverse order
  /P          Pauses after each screenful of information.
  /Q          Display the owner of the file.
  /S          Displays files in specified directory and all subdirectories.
  /T          Controls which time field displayed or used for sorting
  timefield   C  Creation
              A  Last Access
              W  Last Written
  /W          Uses wide list format.
  /X          This displays the short names generated for non-8dot3 file
              names.  The format is that of /N with the short name inserted
              before the long name. If no short name is present, blanks are
              displayed in its place.
  /4          Displays four-digit years

Switches may be preset in the DIRCMD environment variable.  Override
preset switches by prefixing any switch with - (hyphen)--for example, /-W.

C:\test>
 
  • #5
der nachteil ist eigentlich, daß rd nur leere directorys löschen kann, was er sucht wäre die unix/linx lösung, da kann man mit dem normalen löschbefehl rm nähmlich dateien und auch subdirectorys löschen. in dos/windows geht das nur in kombination: zuerst die dateien in den unterverzeichnissen löschen (mit del oder erase) dann die unterverzeichnisse mit rd löschen, dann würde die option /s dazu dienen den aktuellen verzeichnisstandort nicht mitzulöschen. in seinem beispiel waöre das dann so:


del C:\test\test1 /f /q löscht alle dateien aus test1, auch die schreibgeschützten ohne nachfrage
cd c:\test
rd test1 /s /q löscht alle unterverzeichnisse, inclusive test1 ohne nachfrage

greetz

hugo
 
  • #6
Hi,

alles schön und gut und vielen dank für eure Mühe,
leider bin ich auch schon soweit, problem bei der
Idee von hp ist, daß wenn ich im test1 ordner einen
ordner namens test2 hab, und in dem test2 ein
weiteres Verzeichnis namens test3, dann bekomm ich
test2 mit rd nicht weg, da das ganze ein batch job werden
soll, und dementsprechend reibungslos laufen muß,
kommt diese Variante für mich nicht in Frage! (Hinweis: Ich
weiß leider nicht wie die Ordner im test1 heißen werden,
was das Hauptproblem darstellt, weil rd das Sternchen nicht
nimmt!
Ich dachte vielleicht könnte man was mit VBScript machen
oder so!

Bin für jeden Tip dankbar!

so long

Luftfilter
 
  • #8
rd mit option /s werden doch alle unterverzeichnisse, gelöscht ...

greetz

hugo
 
  • #9
hi,

da hast Du recht @hp
Allerdings hab ich wie beschrieben keine Ahnung,
wie die Dateien im Verzeichnis test1 heißen werden,
würd ichs wissen, wär Deine Lösung perfekt!
Aber wie lösch ich den inhalt inklusive aller unter und unterverzeichnisse,
wenn ich deren Namen nicht weiß???Mit rd /s/q c:\test1\*, bzw. cd test1,
rd /s/q * funktioniert es nicht!

Gruß

Luftfilter
 
  • #10
Luftfilter schrieb:
Ich dachte vielleicht könnte man was mit VBScript machen
oder so!
Hi,
versuche das mal:
Code:
Set objFSO = CreateObject(Scripting.FileSystemObject)
objFSO.DeleteFile(C:\test\test1\*.*), True
objFSO.DeleteFolder(C:\test\test1\*.*), True
 
  • #11
Hallo,
mit einer Batch-Datei würde ich das so lösen:

Code:
del /f/q c:\test\test1\*.*
for /f %%i in ('dir /b c:\test\test1') do rd /s/q c:\test\test1\%%i

Die erste Zeile löscht in c:\test\test1 nur die Dateien (auch schreibgeschützte). Danach kann es dort nur noch Unterverzeichnisse geben, die mit der zweiten Zeile alle samt Inhalt entfernt (rd) werden.
 
  • #12
rd ohne * oder sonstwas nur rd c:\test1 /s /q dann würde er alles innerhalb von test1 und darunter löschen, ohne rückfrage ob man das will. nur der del befehl der kennt das asterisk * oder *.*

für dein problem würde doch die batch so aussehn: du hast z.b. einen directory-baum derart

c:\test\test1\test2\test3\test4

jetzt wills du ab test alles löschen, der befehl

rd c:\test\test1 /s /q

fegt alles weg was hinter c:\test kommt. das ist doch das was du ja willst, oder?

greetz

hugo
 
  • #14
das snd doch jetzt alles nur beispiele, was ich damit sagen will: immer ab dem letzten angegebenen direktory abwärts wird alles gelöscht. du mußt halt für dich den richtigen pfad zusammenbasteln, wenn du halt test1 noch brauchst dann wäre der rd so

rd c:\test\test1\test2 /s /q

dann bleibt c:\test\test1 stehn und der rest vom tree wäre weg.

greetz

hugo
 
  • #15
@hp:
Lies mal Antwort 8.
Es ist nicht bekannt, was sich in c:\test\test1 befindet.
Es können Dateien und mehrere Verzeichnisse (mit beliebigem Inhalt) sein.
 
  • #16
Hi,

erstmal danke für eure weitreichende Hilfe!

Ich hab mich für die Lösung von IrksEye
entschieden, sie läuft reibungslos, und
das ist die Hauptsache! Besten Dank!

@ hp: Deine Lösung funktioniert leider nicht, weil
ich nicht weiß wie die Verzeichnisse heißen
werden!

@Anton99: Werd das mal antesten, ist mir jetzt
doch etwas zu komplex, weil ich die zusammenhänge
nicht verstehe! Aber sieht gut aus! ;o)

Vielen Dank Leute! RESPEKT!

Gruß

Luftfilter
 
Thema:

rd hilfe!!!

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben