Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Script nach Dateinamen löschen

Mitglied: Knuefi

Knuefi (Level 1) - Jetzt verbinden

11.03.2016 um 16:49 Uhr, 1417 Aufrufe, 19 Kommentare, 3 Danke

Hallo mal wieder,

ich versuche ein Script zu schreiben, das nach gewünschten Dateinamen in bestimten Ordner sucht und wenn vorhanden die Datei löscht.

Hier mein Versuch der nicht klappt , kann mir jemand helfen?
Dim testFile, objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
testFile = "D:\Users\Max\Desktop\Test\test.pdf"
If (objFSO.FileExists(testFile)) Then
Set fso = CreateObject("Scripting.FileSystemObject")
fso.GetFile.Delete
Else
MsgBox "nö Datei gibts nicht"
End If
Gruß
Knuefi
Mitglied: AndreasHoster
11.03.2016 um 16:51 Uhr
Kleiner Hinweis:
Warum zwei Scripting.FileSystemObject Objekte?
Und viel wichtiger, woher soll GetFile wissen, um welche Datei es sich handeln soll?
Bitte warten ..
Mitglied: Knuefi
11.03.2016 um 17:09 Uhr
Habe es umgeschrieben, trozdem funktioniert es nicht,. was mache ich da falsch?

Dim testFile, objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
testFile = "D:\Users\Max\Desktop\Test\test.pdf"
If (objFSO.FileExists(testFile)) Then
file.delete
Else
MsgBox "nö Datei gibts nicht"
End If
Bitte warten ..
Mitglied: Knuefi
11.03.2016 um 17:40 Uhr
Hier mein zweiter Versuch der auch nicht läuft

const path = "D:\Users\Max\Desktop\Test"
const extension = "Test.pdf"
dim fso, file, folder
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder (path)
for each file in folder.files
= extension then
file.delete
Else
MsgBox "nö Datei gibts nicht"
end if
next
Bitte warten ..
Mitglied: 126919
11.03.2016, aktualisiert um 18:45 Uhr
Gruß fk
Bitte warten ..
Mitglied: AndreasHoster
11.03.2016 um 19:31 Uhr
@126919 hat Dir ja eine funktionierende Version geliefert, hier noch eine Fehlerbetrachtung Deines Codes.
Selbes Problem wie am Anfang:
Was soll file sein? Die Variable/Objekt wurde nie vorher erwähnt und auf einmal soll ein Delete funktionieren. Natürlich geht das so nicht, file muß schon initialisiert werden
Im zweiten Beispiel, was soll = extension then sein? Da fehlt irgendwas:
LCase wegen case-insensitiven Dateinamen im Windows.
Bitte warten ..
Mitglied: Knuefi
13.03.2016 um 16:14 Uhr
Danke für die ausfürliche Erklärung meiner Fehler, jetzt ist es klar warum es klappen konnte. Jetzt würde ich es gerne verfeinern, es sollte per msgbox der Name der Datei die zu löschen ist abgefragt werden. Wie heißt die Funktion?
Bitte warten ..
Mitglied: 126919
13.03.2016, aktualisiert um 18:28 Uhr
Sowas wie Suchmaschinen und Dokumentationen scheinen Fremdwörter für dich zu sein?!
Bitte warten ..
Mitglied: Knuefi
14.03.2016 um 20:19 Uhr
Suchmaschiene sind bei mir kein Frendwort, deshalb habe ich gefragt wie die Funktion heißt. Ich wusste nich das ich nach Inputbox suchen muss.
Trozdem bekomme ich es nicht hin, kann ich überhaupt variabel löschen?
Bitte warten ..
Mitglied: 126919
14.03.2016, aktualisiert um 20:33 Uhr
Wieso machst du dann nicht erst mal einen Grundlagen-Programmierkurs wenn das alles zu schwer für dich ist ? Wenn wir alles auf dem Silbertablett servieren lernst du wenig, minimal die Dokumentation zu lesen sollte man eigentlich können.
kann ich überhaupt variabel löschen?
Wie meinen ?? Geht alles...
http://www.tutorialspoint.com/vbscript/
Bitte warten ..
Mitglied: Knuefi
14.03.2016, aktualisiert um 20:49 Uhr
Hallo Flachkoeper,

erstmal Danke für deine Hilfe bzw. Geduld mit mir, ich glaube es Verstanden zu haben. Das Script bezieht sich auf den zu löschenden Dateipfad, es soll aber der Dateiname abgefragt werden, die Dateien sind in ein und selben Ordner (fester Pfad, D:\Users\Max\Desktop\Test ). Klar ist mir, das die Dateien auch gelöscht werden, wenn ich in der Abfrage D:\Users\Max\Desktop\Test\Dateiname der gelöscht werden soll eingebe. Richtig?
Bitte warten ..
Mitglied: 126919
14.03.2016, aktualisiert um 20:57 Uhr
Zitat von Knuefi:
. Klar ist mir, das die Dateien auch gelöscht werden, wenn ich in der Abfrage D:\Users\Max\Desktop\Test\Dateiname der gelöscht werden soll eingebe. Richtig?
Ja.

Wenn du nur den Namen eingeben lassen willst verkettest du einfach das Ergbnis der Inputbox mit dem festen Pfad, fertig.
Bitte warten ..
Mitglied: Knuefi
14.03.2016 um 21:11 Uhr
Ok, das klingt Logisch. Nun habe ich gerade festgestellt, dass in den Ordner D:\Users\Max\Desktop\Test sich auch Verknüfungen zu weiteren Ordner befinden. Kann ich die Suche und das Anschließende lösche der Datei auf die Verknüpfungen erweitern?. Ich habe folgendes dazu gefunden bzw. bin ich auf den richtigen Weg?.
Function parseFolders(strFldr)
for each myFile in strFldr.Files
If LCase(objFS.GetExtensionName(myFile.Name)) = "lnk" then
target = objShell.CreateShortcut(myFile.Path).TargetPath
If objFS.FolderExists(target) Then
fso.DeleteFile
Bitte warten ..
Mitglied: 126919
14.03.2016, aktualisiert um 21:40 Uhr
Wat kommt jetzt noch alles, soll das Teil auch noch Burger braten
Bitte warten ..
Mitglied: Knuefi
14.03.2016 um 21:38 Uhr
Das mit den Burger ist sau gute Idee !!!!

Leider bekomme ich diese Fehlermeldung . Zudem noch folgende Frage: macht es Sinn die Suche nur auf Verknüfungen zu beziehen?, ich kann ja einen Ordner erstellen und schon dort eine Verknüfung zum Ordner D:\Users\Max\Desktop\Test erstellen.
fehlermeldung - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 126919
14.03.2016, aktualisiert um 21:43 Uhr
Fehlte doch nur ein End if, ist oben ausgebessert.
Hatte eigentlich drauf spekuliert das du den Fehler diesmal selber findest, leider wird wieder nur kopiert und nicht das Hirn benutzt

Bis denn ...
fk
Bitte warten ..
Mitglied: Knuefi
14.03.2016 um 21:53 Uhr
Das verstehe ich nicht, kannst du mir das bitte noch erklären. Da schon zweimal End if vorhanden war, hätte ich den Fehler nie gefunden. Ok, Anhand der Fehlermeldung "Next" hätte ich darauf können kommen, wieder richtig?
Bitte warten ..
Mitglied: Knuefi
15.03.2016 um 18:45 Uhr
Nun habe ich die nächste Frage, vieleicht kann mir jemand weiterhelfen. In den Verknüfungen sind noch Unterordner und diese werden leider nicht durchsucht bzw. die Datei werden nicht gelöscht. Eine Lösung wäre ja : .TargetPath & "\Name Unterordner" , diese Lösung ist leider nicht die Optimale, da die Unterordner unterschiedliche Namen haben. Ich habe natürlich die Suchfunktion benutzt, aber leider finde ich nur Lösungen wo nicht nur der Inhalt des Unterornder gelöscht wird, sondern der Unterordner gleich mit und der soll erhalten werden.

Gruß und Danke in voraus
Knuefi
Bitte warten ..
Mitglied: 126919
LÖSUNG 16.03.2016, aktualisiert um 08:59 Uhr
Den Code zum rekursiven durchsuchen von Ordnern hattest du doch schon hier mit der Funktion parseFolders
https://www.administrator.de/forum/lösche-inhalt-bestimmten-unteror ...
minimal angepasst mit der if abfrage oben und du hast deinen Code.
Ein bißchen mit Programmieren musst du dich schon beschäftigen ...
Wenn hier deine Wünsche immer nur tröpfchenweise rauskullern anstatt sein Vorhaben gleich von Anfang an exakt zu schildern. Das ist hier ja kein Wunschkonzert
Bitte warten ..
Mitglied: Knuefi
16.03.2016 um 20:09 Uhr
Super damit hast du mir sehr geholfen, DANKE !!!!.
Bitte warten ..
Ähnliche Inhalte
Cloud-Dienste
AZURE Script
Frage von pberlingerCloud-Dienste1 Kommentar

Hallo Zusammen ich konnte mit Eurer Hilfe ein richtig cooles Script erstellen welches für mich via PowerShell Server in ...

Batch & Shell
BATCH-Script
gelöst Frage von hipfzwirgelBatch & Shell9 Kommentare

Hallo Batch-Profis, ich habe ein Batch-Script geschrieben mit welchem ich einen Treiber unattended installieren kann. Dazu benötige ich 5 ...

PHP
Sicheres Script ?
Frage von WPFORGEPHP14 Kommentare

Hallo, ich habe meinen PHP code bisher eigentlich nicht für überragend gut, aber für sicher gehalten . Nun scheinen ...

Batch & Shell
Script anpassung
gelöst Frage von MultiplexyBatch & Shell14 Kommentare

Hallo zusammen, Ich benötige mal eure Hilfe, es geht darum den folgenden Code anzupassen, das die letzten 2 Ordner ...

Neue Wissensbeiträge
Microsoft Office

Office 365 Makro Schutz nicht immer per GPO möglich

Information von sabines vor 2 TagenMicrosoft Office5 Kommentare

Der zum Schutz gegen Verschlüsselungstrojaner wichtige Makroschutz lässt sich wohl in Office 365 nicht immer per GPO einstellen. Für ...

Netzwerkmanagement
How To Mikrotik Netinstall
Erfahrungsbericht von areanod vor 4 TagenNetzwerkmanagement

Jedes Mal wenn ich Netinstall längere Zeit nicht benutzt habe stolpere ich über die „Besonderheiten“ dieser Software. Das ist ...

Microsoft
Microsoft: LDAPS per Update als Default
Information von em-pie vor 4 TagenMicrosoft2 Kommentare

Hallo, Microsoft wird mit einem der zukünftigen Updates LDAP auf LDAPS per Default umstellen. Admins von angebundenen Systemen die ...

Humor (lol)

Funny: Warum es immer schwieriger wird, die richtigen Produkte online zu finden

Information von Dilbert-MD vor 6 TagenHumor (lol)21 Kommentare

Wir befinden uns in der Rubrik "Off Topic - Humor" und in 15 Minuten ist Freitag. und ja, es ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Reichweite bei Netzwerkdruckern mit Kupfer
gelöst Frage von OIOOIOOIOIIOOOIIOIIOIOOONetzwerkgrundlagen31 Kommentare

Guten Tag, aus gegebenem Anlass, möchte ich euch fragen, was aus eurer Sicht, eine akzeptable Reichweite bei einem Netzwerkdrucker ...

Windows Server
Kontakt mit Warenwirtschaft Software Anbieter - Netzwerkstbilität
Frage von PoddeldunktWindows Server26 Kommentare

Hallo zusammen, entschuldigt erstmal den schlechten Titel, aber mir ist nicht eingefallen wie ich das ganze Aussagekräftiger gestalten soll. ...

Visual Studio
Aufgabenplaner führt Programm inkorrekt aus
Frage von TallerBiskusVisual Studio22 Kommentare

Hallo Leute :) Ich habe ein sehr seltsames Phänomen. Folgende Gegebenheiten : Wir haben einen Windows Server 2012 R2 ...

Windows Tools
Autologoff Local User Windows 10 bei idle Time von 900 Sekunden
Frage von Hendrik2586Windows Tools19 Kommentare

Hallo ihr lieben. :) Ich hatte das Thema schon mal vor einer Weile, aber nun muss ich es nochmal ...