Script nach Dateinamen löschen
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 298875
Url: https://administrator.de/contentid/298875
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
19 Kommentare
Neuester Kommentar
dim fso, testFile
Set fso = CreateObject("Scripting.FileSystemObject")
testFile = "D:\Users\Max\Desktop\Test\test.pdf"
If (fso.FileExists(testFile)) Then
fso.DeleteFile testFile,True
Else
MsgBox "Datei '" & testFile & "' gibts nicht!",vbExclamation
End If
@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.
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
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
set file = objFSO.GetFile(testFile)
file.Delete
if lcase(file.name) = lcase(extension) then
file.delete
strDateiname = InputBox("Bitte Dateinamen eingeben")
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.
http://www.tutorialspoint.com/vbscript/
kann ich überhaupt variabel löschen?
Wie meinen ?? Geht alles...dim fso, strFile
Set fso = CreateObject("Scripting.FileSystemObject")
strFile = Inputbox("Bitte Dateipfad zum löschen eingeben")
If (fso.FileExists(strFile)) Then
fso.DeleteFile strFile,True
Else
MsgBox "Datei '" & strFile & "' gibts nicht!",vbExclamation
End If
http://www.tutorialspoint.com/vbscript/
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.. 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?
Wenn du nur den Namen eingeben lassen willst verkettest du einfach das Ergbnis der Inputbox mit dem festen Pfad, fertig.
dim fso, strFile
Const PFAD = "D:\Users\Max\Desktop\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
strFile = Inputbox("Bitte Dateiname zum löschen eingeben")
If (fso.FileExists(PFAD & strFile)) Then
fso.DeleteFile strFile,True
Else
MsgBox "Datei '" & PFAD & strFile & "' gibts nicht!",vbExclamation
End If
Wat kommt jetzt noch alles, soll das Teil auch noch Burger braten
Const PFAD = "D:\Users\Max\Desktop\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Wscript.Shell")
strFile = Inputbox("Bitte Dateiname zum löschen eingeben")
If (fso.FileExists(PFAD & strFile)) Then
fso.DeleteFile strFile,True
End If
for each myFile in fso.GetFolder(PFAD).Files
If LCase(fso.GetExtensionName(myFile.Name)) = "lnk" then
target = objShell.CreateShortcut(myFile.Path).TargetPath
If (fso.FileExists(target & "\" & strFile)) Then
fso.DeleteFile target & "\" & strFile,True
End if
End if
Next
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
Hatte eigentlich drauf spekuliert das du den Fehler diesmal selber findest, leider wird wieder nur kopiert und nicht das Hirn benutzt
Bis denn ...
fk
Den Code zum rekursiven durchsuchen von Ordnern hattest du doch schon hier mit der Funktion parseFolders
Lösche Inhalt in bestimmten Unterordner wenn älter als
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
Lösche Inhalt in bestimmten Unterordner wenn älter als
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