[VBS] Verwijder alle bestanden behalve xxx.txt

Pagina: 1
Acties:
  • 242 views

Acties:
  • 0 Henk 'm!

  • the-edge
  • Registratie: Juni 2005
  • Laatst online: 16-09 14:31
Doel is om alle bestanden in een map te verwijderen behalve xxx.txt (is een bronbestand).

Ik heb:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim File, Folder, FileCollection
Dim fso As New FileSystemObject

Set Folder = fso.GetFolder("C:\files")
Set FileCollection = Folder.Files

For Each File In FileCollection

    If Naam = xxx.txt then
    
    End If
    fso.DeleteFile (File)
Next


Nu weet ik even niet wat ik in het if statement moet gebruiken om de bestandsnaam te checken.
Hij moet dus alles verwijderen; behalve xxx.txt

Wie kan mij een schop in de goede richting geven?

Acties:
  • 0 Henk 'm!

  • Krypt
  • Registratie: April 2000
  • Laatst online: 18-09 20:40
Je kunt van de 'IF' een 'IF NOT' maken. Ik zou wel lcase gebruiken om alles in lowecase to controleren. In die 'IF NOT' kun je de fso.deletefile uitvoeren.

Pvouput live


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

De documentatie van het FileSystemObject wel eens van dichtbij gezien? ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:46

TeeDee

CQB 241

1. Volgens mij is deze code ook prima in staat om je 'xxx.txt' file alsnog te deleten
2. Wat zegt Google van je vraag?

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • midget
  • Registratie: Maart 2001
  • Laatst online: 15:01
Hiermee moet je uit de voeten kunnen.

Eerst alle bestanden inclusief extensies ophalen uit een directory.
Vervolgens op basis van de extensie de bestanden verwijderen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim File, Folder, FileCollection
Set fso = CreateObject("Scripting.FileSystemObject") 

Set Folder = fso.GetFolder("C:\files")
Set FileCollection = Folder.Files

For Each File In FileCollection

Extension = LCASE(right(File,4))

If Extension= ".txt" then
    fso.DeleteFile (File)
End If

Next

[ Voor 18% gewijzigd door midget op 14-01-2010 10:28 . Reden: Code toegevoegd ]


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
midget schreef op donderdag 14 januari 2010 @ 10:27:
Hiermee moet je uit de voeten kunnen.

Dim File, Folder, FileCollection
Set fso = CreateObject("Scripting.FileSystemObject")

Set Folder = fso.GetFolder("C:\files")
Set FileCollection = Folder.Files

For Each File In FileCollection

Extension = LCASE(right(File,4))

If Extension= ".txt" then
fso.DeleteFile (File)
End If

Next
No offence, maar jouw code gaat crashen als er een bestand a.b heet o.i.d.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
dim oFile, oFolder, oFileCollection, oFs
set oFs As New FileSystemObject

Set oFolder = oFs.GetFolder("C:\Files")
Set oFileCollection = oFolder.Files

For Each oFile in oFileCollection

if (oFile.name not "xxxx.txt")
oFs.DeleteFile (oFile)
end if


Next


Zoiets?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Laten we hier maar een eind aan maken. Hoe je een bestandsnaam uitleest heeft MS verdomd goed gedocumenteerd en een blik op de manual had dit topic onnodig gemaakt. @the-edge: het zou fijn zijn als je de volgende keer eerst even zoekt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.