Allen,
Ik ben nog steeds aant worstelen met het uploaden van files dmv een script.
Het FTP scriptje schrijven is niet zo moeilijk, ik wil er alleen absoluut zeker van zijn dat alle files daadwerkelijk geupload worden..
Ik krijg nl steeds de error connection reset by peer.
Ik weet wat de error inhoud, vandaar dat ik een soort extra controle wil inbouwen.
Ik ben helaas verplicht om het standaard ftp van windows te gebuiken..
Heb een simpel scriptje gescheven voor het uploaden van files, maar standaard FTP slaat diverse bestanden over.. (ook knalt hij er soms midden in het script uit)
Ik wil iets schrijven in VBS dat een upload script genereerd aand de hand van het logfile (waarin staat welke bestanden zijn geupload).
Heb het volgende als voorbeeld gekregen, maar sommige delen snap ik niet helemaal..
Kan iemand mij uitleggen, exact in dit VBS script gebeurt??
Volgens mij al ga ik hier in sleutelen kan ik hier iets mee!
Heb het van een EX-collega gekregen ... Maar die werkt niet meer bij ons bedrijf...
(en weet helaas niet waar hij naar toe is..
)
======================================================
UploadFiles
Sub UploadFiles
dim fso, fsDir, wsh, fsfile, fsdelete, foundcounter, filecounter, fc, fslog
set fso = createobject("scripting.FileSystemObject")
set wsh = createobject("wscript.shell")
Msgbox "Uploading",,"Upload"
fso.deletefile "YourPathHere", true
on error resume next
fso.copyfile "YourPathHere", "YourPathHere", true
on error goto 0
set fsdir=fso.getfolder("YourPathHere")
set fc = fsdir.files
if fc.count=0 then
msgbox "No files available to Upload. Exiting Routine.",48,"Upload"
exit sub
end if
logname = year(date) & month(date) & day(date) & hour(time) & minute(time) & ".log"'
set fslog = fso.CreateTextfile("YourPathHere" & Logname, true)
fslog.writeline ("Upload Log file for: " & date & " - " & time)
fslog.writeline ("Files processed:")
fso.copyfile "YourPathHere\upload.ftp", "YourPathHere\upload.ftp"
set fsupload = fso.OpenTextfile("YourPathHere\upload.ftp",
counter =0
for each fsfile in fc
if right(fsfile.name,3)<>"ftp" then
fslog.write(fsfile.name & " - ")
fsfile.name = "Up" & right(fsfile.name, len(fsfile.name)-4) & "." & stoplisttype
fsupload.writeline "put " & fsfile.name
counter=counter+1
fslog.writeline(fsfile.name)
end if
next
fsupload.writeline "quit"
fsupload.close
fslog.close
msgbox "Connectie gemaakt!!!",48,"Upload"
wsh.run "YourPathHere\ulftp.bat", , true
if UploadGood then
Msgbox "Upload routine complete. Exiting Upload, Please disconnect",48,"Upload"
else
Msgbox "Error: Upload not complete. Please Retry.",48,"Upload to Tokheim"
End If
End Sub
Function UploadGood()
Const ForReading = 1
Dim fso, f, ReadTextLine
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("YourPathHere\upload.log", ForReading)
Do While f.AtEndOfStream <> True
ReadTextLine = f.ReadLine
MsgBox (ReadTextLine)
If ReadTextLine = " " Then
Return (True)
Exit Do
End If
Loop
f.close
end function
======================================================
thats it..
Ik ben nog steeds aant worstelen met het uploaden van files dmv een script.
Het FTP scriptje schrijven is niet zo moeilijk, ik wil er alleen absoluut zeker van zijn dat alle files daadwerkelijk geupload worden..
Ik krijg nl steeds de error connection reset by peer.
Ik weet wat de error inhoud, vandaar dat ik een soort extra controle wil inbouwen.
Ik ben helaas verplicht om het standaard ftp van windows te gebuiken..
Heb een simpel scriptje gescheven voor het uploaden van files, maar standaard FTP slaat diverse bestanden over.. (ook knalt hij er soms midden in het script uit)
Ik wil iets schrijven in VBS dat een upload script genereerd aand de hand van het logfile (waarin staat welke bestanden zijn geupload).
Heb het volgende als voorbeeld gekregen, maar sommige delen snap ik niet helemaal..
Kan iemand mij uitleggen, exact in dit VBS script gebeurt??
Volgens mij al ga ik hier in sleutelen kan ik hier iets mee!
Heb het van een EX-collega gekregen ... Maar die werkt niet meer bij ons bedrijf...
======================================================
UploadFiles
Sub UploadFiles
dim fso, fsDir, wsh, fsfile, fsdelete, foundcounter, filecounter, fc, fslog
set fso = createobject("scripting.FileSystemObject")
set wsh = createobject("wscript.shell")
Msgbox "Uploading",,"Upload"
fso.deletefile "YourPathHere", true
on error resume next
fso.copyfile "YourPathHere", "YourPathHere", true
on error goto 0
set fsdir=fso.getfolder("YourPathHere")
set fc = fsdir.files
if fc.count=0 then
msgbox "No files available to Upload. Exiting Routine.",48,"Upload"
exit sub
end if
logname = year(date) & month(date) & day(date) & hour(time) & minute(time) & ".log"'
set fslog = fso.CreateTextfile("YourPathHere" & Logname, true)
fslog.writeline ("Upload Log file for: " & date & " - " & time)
fslog.writeline ("Files processed:")
fso.copyfile "YourPathHere\upload.ftp", "YourPathHere\upload.ftp"
set fsupload = fso.OpenTextfile("YourPathHere\upload.ftp",
counter =0
for each fsfile in fc
if right(fsfile.name,3)<>"ftp" then
fslog.write(fsfile.name & " - ")
fsfile.name = "Up" & right(fsfile.name, len(fsfile.name)-4) & "." & stoplisttype
fsupload.writeline "put " & fsfile.name
counter=counter+1
fslog.writeline(fsfile.name)
end if
next
fsupload.writeline "quit"
fsupload.close
fslog.close
msgbox "Connectie gemaakt!!!",48,"Upload"
wsh.run "YourPathHere\ulftp.bat", , true
if UploadGood then
Msgbox "Upload routine complete. Exiting Upload, Please disconnect",48,"Upload"
else
Msgbox "Error: Upload not complete. Please Retry.",48,"Upload to Tokheim"
End If
End Sub
Function UploadGood()
Const ForReading = 1
Dim fso, f, ReadTextLine
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("YourPathHere\upload.log", ForReading)
Do While f.AtEndOfStream <> True
ReadTextLine = f.ReadLine
MsgBox (ReadTextLine)
If ReadTextLine = " " Then
Return (True)
Exit Do
End If
Loop
f.close
end function
======================================================
thats it..