bestand kopieëren met timestamp in VBS

Status
Niet open voor verdere reacties.

kantersjojo

Gebruiker
Lid geworden
29 nov 2008
Berichten
130
Hallo,

Onderstaande code werkt correct maar ik wil het stuk waar de datum erin gezet wordt vervangen met een tijdstip. Iemand een idee?

Code:
Dim backup, origineel, filename
backup = "C:\Users\Gebruiker\Documents\testing\backup\"
origineel = "C:\Users\Gebruiker\Documents\testing\origineel\test.txt"
filename = "test.txt"

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists (origineel) Then
fso.CopyFile origineel, backup & filename & "_backup_" &Date& ".txt"
End if

Iemand een idee?
 
Probeer dit eens:

Code:
fso.CopyFile origineel, backup & filename & "_backup_" &Date&"_"&format(time,"hhmmss")&".txt"
 
Laatst bewerkt:
Geen rekening gehouden met VBS, die kent de format functie niet op die manier.
Time zelf kun je niet zomaar gebruiken omdat er : tekens in zitten en die mogen niet in een bestandsnaam voor komen.

Probeer dit eens:
Code:
fso.CopyFile origineel, backup & filename & "_backup_" & Date &"_" & Replace(time,":","") & ".txt"
 
Laatst bewerkt:
Geen rekening gehouden met VBS, die kent de format functie niet op die manier.
Time zelf kun je niet zomaar gebruiken omdat er : tekens in zitten en die mogen niet in een bestandsnaam voor komen.

Probeer dit eens:
Code:
fso.CopyFile origineel, backup & filename & "_backup_" & Date &"_" & Replace(time,":","") & ".txt"

Ja top dit werkt.

Weet je misschien ook hoe ik ervoor kan zorgen dat het DIM "origineel" als einde de output kan hebben van DIM "filename"? Bijv:
Code:
origineel = "C:\Users\Gebruiker\Documents\testing\origineel\"(filename)
 
Oke het is me gelukt. Hier is de volledig werkende code voor google'rs

Code:
Dim filename, extentie, backup, origineel

filename = "HIER DE BESTANDSNAAM" 'Vul hier de naam van het bestand in tussen de aanhalingstekens 
extentie = "HIER DE EXTENTIE" 'Vul hier de extentie van het bestand in tussen de aanhalingstekens bijv. TXT, DOCX, etc. LET OP! Gebruik GEEN . (punt)
backup = "HIER EEN PAD" 'Vul hier het pad in van het bestand dat gebackup'd moet worden tussen de aanhalingstekens
origineel = "HIER EEN PAD" & filename &"."& extentie ''Vul hier het pad in waar de back-up heen moet tussen de aanhalingstekens


' ------------------------------------ NIETS AANPASSEN ---------------------------------------------
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists (origineel) Then
fso.CopyFile origineel, backup & filename & "_backup_" & Date & "_" & Replace(time,":","") & "." & extentie
End if

Bedankt!
 
Laatst bewerkt:
Weet je misschien nog een mogelijk met de code hierboven om te controleren of er 24 bestanden in de "backup" folder zitten die dezelfde allemaal de extentie van "extentie" hebben? En als dit zo is dat hij dan alle bestanden die eindigen op "extentie" verwijderd?
 
Voorbeeldje:

Code:
Option Explicit
Dim fso, count, map, folder, file, ext

map  = "C:\Map1"
ext = "jpg"

Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(map)

count = 0
For Each file In folder.files
    If LCase(fso.GetExtensionName(file)) = ext Then
        count = count + 1
    End If
Next

If count = 24 then
    fso.DeleteFile(map & "\*." & ext)
End If
 
Laatst bewerkt:
Voorbeeldje:

Code:
Option Explicit
Dim fso, count, map, folder, file, ext

map  = "C:\Map1"
ext = "jpg"

Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(map)

count = 0
For Each file In folder.files
    If LCase(fso.GetExtensionName(file)) = ext Then
        count = count + 1
    End If
Next

If count = 24 then
    fso.DeleteFile(map & "\*." & ext)
End If

Bedankt! Dit is het uiteindelijke script dan!

Code:
Option Explicit
Dim filename, extentie, backup, origineel, count, fso, folder, file

filename = "Bestands naam" 'Vul hier de naam van het bestand in tussen de aanhalingstekens 
extentie = "Bestands naam extentie" ' Vul hier de extentie van het bestand in tussen de aanhalingstekens bijv. TXT, DOCX, etc. LET OP! Gebruik GEEN . (punt)
backup = "folder om de backups te plaatsen" 'Vul hier het pad in van het bestand dat gebackup'd moet worden tussen de aanhalingstekens
origineel = "Locatie van het bestand dat gebackuppd moet worden" & filename &"."& extentie 'Vul hier het pad in waar de back-up heen moet tussen de aanhalingstekens


' ------------------------------------ NIETS AANPASSEN ---------------------------------------------
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(backup)

If fso.FileExists (origineel) Then
	fso.CopyFile origineel, backup & filename & "_backup_" & Date & "_" & Replace(time,":","") & "." & extentie
	End if
count = 0
For Each file In folder.files
    If LCase(fso.GetExtensionName(file)) = extentie Then
        count = count + 1
    End If
Next

If count = 25 then
    fso.DeleteFile(backup & "\*." & extentie)
	End If
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan