VBS - FTP des fichiers d'un répertoire - VB/VBA/VBS - Programmation
MarshPosté le 03-05-2013 à 16:55:52
Bonjour,
Je tente actuellement de créer un script en VBS pour transferer des fichiers PDF d'un répertoire local à un serveur distant dans un autre répertoire en FTP.
En parcourant le net, j'ai trouvé un code qui semblait correspondre à mes besoins mais en fait, il ne semble pas fonctionner (ou alors je m'y prends comme un pied)
Citation :
'FTP Upload 'Upload a file/folder to an FTP server
Set oShell = CreateObject("Shell.Application" ) Set objFSO = CreateObject("Scripting.FileSystemObject" )
'Path to file or folder to upload 'path = "test.txt" path = "To_my_local_folder"
FTPUpload(path)
Sub FTPUpload(path)
On Error Resume Next
'Copy Options: 16 = Yes to All Const copyType = 16
If Err.Number <> 0 Then Wscript.Echo "Error: " & Err.Description
End If
'Wait for upload WScript.Sleep waitTime
End Sub
Quand je l'exécute, une fenêtre s'affiche pour me dire qu'il upload bien un répertoire mais pas de transfert, le serveur FTP reste désespérément vide...
Marsh Posté le 03-05-2013 à 16:55:52
Bonjour,
Je tente actuellement de créer un script en VBS pour transferer des fichiers PDF d'un répertoire local à un serveur distant dans un autre répertoire en FTP.
En parcourant le net, j'ai trouvé un code qui semblait correspondre à mes besoins mais en fait, il ne semble pas fonctionner (ou alors je m'y prends comme un pied)
'FTP Upload
'Upload a file/folder to an FTP server
Set oShell = CreateObject("Shell.Application" )
Set objFSO = CreateObject("Scripting.FileSystemObject" )
'Path to file or folder to upload
'path = "test.txt"
path = "To_my_local_folder"
FTPUpload(path)
Sub FTPUpload(path)
On Error Resume Next
'Copy Options: 16 = Yes to All
Const copyType = 16
'FTP Wait Time in ms
waitTime = 80000
FTPUser = "test_ftp"
FTPPass = "XXXXXXX"
FTPHost = "XXXXXXX"
FTPDir = "/ftp_test/"
strFTP = "ftp://" & FTPUser & ":" & FTPPass & "@" & FTPHost & FTPDir
Set objFTP = oShell.NameSpace(strFTP)
'Make new folder on FTP site
'objFTP.NewFolder "FTP Backup"
'Upload single file
If objFSO.FileExists(path) Then
Set objFile = objFSO.getFile(path)
strParent = objFile.ParentFolder
Set objFolder = oShell.NameSpace(strParent)
Set objItem = objFolder.ParseName(objFile.Name)
Wscript.Echo "Uploading file " & objItem.Name & " to " & strFTP
objFTP.CopyHere objItem, copyType
End If
'Upload all files in folder
If objFSO.FolderExists(path) Then
'Code below can be used to upload entire folder
Set objFolder = oShell.NameSpace(path)
Wscript.Echo "Uploading folder " & path & " to " & strFTP
objFTP.CopyHere objFolder.Items, copyType
End If
If Err.Number <> 0 Then
Wscript.Echo "Error: " & Err.Description
End If
'Wait for upload
WScript.Sleep waitTime
End Sub
Quand je l'exécute, une fenêtre s'affiche pour me dire qu'il upload bien un répertoire mais pas de transfert, le serveur FTP reste désespérément vide...
Je suis preneur pour toute aide
Merci