17. november 2004 - 23:19Der er
5 kommentarer og 1 løsning
File Busy (optaget)
Hvordan kan jeg i et VBS med FSO, se efter om en fil er ved at blive skrevet. Jeg skal lave et lille VBS, som skal kopiere nogle PDF filer som bliver skrevet fra en RIP til en NT server, men problemet er at mit VBS begynder at kopiere en fil, før end den er færdigskrevet, hvilket resulterer i en fejl - og måske også smadrede PDF filer :(
Er det muligt med FSO og VBS - findes der et COM object man kan købe hvis ikke det er indbygget i FSO ?
Der findes ikke nogen direkte funktion, men følgende kan bruges hvis ikke filerne er kæmpe store: function isFileBusy(filename) isFileBusy=false Set filesys = CreateObject("Scripting.FileSystemObject") if fileSys.Fileexists(filename)= true then myfoldername=filesys.getParentFolderName(filename) set myFile = filesys.getFile(filename) tmpname=filesys.getTempName myFile.Copy(myfoldername&"\"&tmpname) on error resume next myFile.Delete If Err.Number = 0 Then filesys.CopyFile myFoldername&"\"&tmpname,filename else isFileBusy = true end if filesys.DeleteFile(myFoldername&"\"&tmpname) set myfile = nothing end if set filesys = nothing
Nu ved jeg jo ikke hvad kæmpe store er, men vi snakker vel 1 - 80 MB stykket, men det kører på en dual cpu maskine, der ikke laver andet, så det betyder vel ikke alverden ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.