Jump to content

Mit wsh Script verzeichnisse löschen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo 

Ich suche ein Script womit man aus einem Laufwerk alle Verzeichnisse löschen kann ausser Verzeichnisse welche mit _ anfangen.

Gibt's bestimmt schon oder sehr ähnlich. Hab schon verschiedene Sachen versucht. Funzt leider nicht so wie ich das gerne hätte.

 

Vielen Dank

 

 

Geschrieben

Hi Danke Jan für die Antwort

Ja das wäre eine Variante welche ich noch prüfen werde. Vorläufig möchte es aber mit WSH machen. Es geht nur um das oberste Level. Was danach kommt spielt keine Rolle. Das soll dann einfach weggeputzt werden. 

Gruss Dani

Geschrieben

Ich gehe davon aus, dass du alleine für 

Get-ChildItem | where { -not $_.Name.StartsWith("_") }

etwas mehr an Code in wsh benötigst. Den Part mit "Remove-Item" kriegst du sicherlich alleine "drangedengelt". Um auf Nummer Sicher zu gehen könntest du ans "Remove-Item" noch ein "-WhatIf" anhängen.

Geschrieben

Vielen Dank Jan

Ich hoffe ja noch, dass mir da einer mit wsh weiterhelfen kann.

Folgendes habe ich mal gefunden und weiter zusammengestiefelt. Jetzt muss ich nur noch die Verzeichnisse im Root welche mit _ beginnen nicht löschen. Aber wie?

strRootFolder = "C:\Temp\Leermachen"

Set fso = CreateObject("Scripting.FileSystemObject")
Set objFS = CreateObject("Scripting.FilesystemObject")
Set ofolder = fso.GetFolder(strRootFolder)


 '  Files im Rootverz löschen
fso.DeleteFile "c:\Temp\Leermachen\*.*", true
   

'Durchlaufe alle Unterverzeichnisse
for each folder in ofolder.subfolders
 KillFolderSub folder
next


Sub KillfolderSub(objFolder)

 'Durchlaufe alle Unterverzeichnisse
 for each subfolder in objfolder.subfolders
   KillFolderSub subfolder
 next

 
   'Alle Dateien im Ordner löschen
   for each file in objfolder.Files
     fso.DeleteFile(file.Path)
   next

   'Ordner löschen
   fso.DeleteFolder(objFolder.Path)
 
     
  
  
End Sub

msgbox "feddich" 

 

Geschrieben

Moin,

 

warum erzeugst du dir zwei FSO-Objekte? Falls du im WSH-Scripting nicht firm bist, ist das Löschen von Daten vielleicht nicht der beste Einstieg ...

 

Wir werden dir hier kein Skript schreiben, aber wenn du uns mal sagst, was denn das eigentliche Ziel ist, können wir dir vielleicht besser den Weg weisen.

 

Gruß, Nils

 

Geschrieben

Hi Nils

Learning by doing würde ich mal sagen.

Ich erwarte auch nicht, dass mir hier ein Script geschrieben wird. Sonst hätte ich gewartet bis hier was reinschneit.

 

Ziel:

"Jetzt muss ich nur noch die Verzeichnisse im Root welche mit _ beginnen stehen lassen (nicht löschen). Aber wie? "

Bsp:

 

c:\temp\Leermachen\_Test1 (stehen lassen)

c:\temp\Leermachen\_Test2 (stehen lassen)

c:\temp\Leermachen\Test (löschen)

c:\temp\Leermachen\Test99 (löschen)

 

Evtl. ist ja case ein Ansatz?

 

Gruss Dani

Geschrieben

Moin,

 

mit "Ziel" meine ich nicht, dass du deine Frage einfach wiederholst. Ich kann im Browser scrollen.

 

Was steckt dahinter? Warum soll gelöscht werden, warum sollen bestimmte Verzeichnisse stehen bleiben? Dein Beispielcode löscht auch Dateien, ist das Teil der Aufgabe?

 

Vielleicht (bzw. wahrscheinlich) gibt es andere Wege, das Ziel zu erreichen. Dafür aber muss man das Ziel kennen.

 

Gruß, Nils

 

Geschrieben

Nils wenn du im Browser scrollen kannst dann musst du es einfach nur noch lesen. Aber trotzdem Danke für deine Bereitschaft.

 

Jan hats verstanden vielen Dank dafür.

Falls es jemand anders einfach mit PS machen möchte dann geht das auch so.

 

Get-ChildItem -Path C:\temp\leermachen -Exclude "_*" | Remove-Item

Geschrieben
vor 2 Stunden schrieb DaniW:

Nils wenn du im Browser scrollen kannst dann musst du es einfach nur noch lesen. Aber trotzdem Danke für deine Bereitschaft.

Werter Dani, wir sind hier einen freundlichen und wertschätzenden Umgang miteinander gewohnt. Daher bitte ich dich darum zukünftig auf solche nicht zielführende (durchaus als unverschämt wahrzunehmende) Kommentare zu verzichten.

 

Ich an deiner Stelle würde immer im Hinterkopf behalten, dass ich derjenige bin der Hilfe sucht und dabei gut überlegen ob es zielführend ist, denjenigen die mir helten können ans Bein zu pinkeln...

 

Vielen dank für dein Verständnis.

Geschrieben

Lieber Dr. Melzer

 

Als unverschämt?? Naja das hinkt dann doch etwas :). Auch ich schätze einen freundlichen und wertschätzenden Umgang.

Ich habe durchaus Verständnis dafür, dass man nicht jedes Anliegen versteht oder gar bearbeiten möchte. Muss man ja auch nicht ich zahle ja auch nicht dafür also habe ich auch keinen Qualitätsanspruch. 

 

Aber da du schon fragst, wenn ich eine Aufgabe 3 mal möglichst einfach beschreibe. Tut mir leid mein Fehler aber einfacher kann ich es nicht aufmahlen.

 

Dann geht es nicht darum, was ich warum löschen möchte, sondern einfach dass ich was löschen möchte. und zwar am liebsten mit wsh. Man kann mich gerne auch auf andere Tools hinweisen. Kein Problem das hat Jan gemacht und hat sogar noch Codeschnipsel geliefert. War zwar nicht die Frage aber trotzdem vielen Dank dafür. 

Mir stattdessen gesagt wird, dass hier keiner für mich code erzeugt,  (ok, hab ich gar nicht erwartet) hab ja noch was gepostet) 

oder wenn ich nicht firm mit wsh bin es lieber sein lassen soll. (ok, wenn ich firm damit wäre hätte ich wohl kaum diese Frage gestellt?)

Dann frage ich mich schon was soll das? Das ist das schlicht für niemanden zielführend. Gut war ein Hinweis nehme ich gerne so zur Kenntnis.

 

Erwartet hätte ich ein Codeschnipsel mach es doch mit case oder so ähnlich --> fertig 

 

Für mich ist die Sache erledigt. 

 

 

 

 

 

 

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...