begin process at 2013 05 25 14:09:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBScript

 > [VBS] FOLDER2FTPUPLOAD

[VBS] FOLDER2FTPUPLOAD


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VBScript Classé sous :FTP, Upload, Dossier, Fichier, Multiple Niveau :Initié Date de création :30/07/2012 Vu / téléchargé :1 655 / 116

Auteur : hackoo

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
C'est un Vbscript pour uploader un dossier avec tout son contenu (Tout les fichiers) dans votre serveur FTP.C'est un genre d'upload Multiple.
Le Script est de simple utilisation , il vous suffit juste de l'éditer et de modifier les 3 paramètres:

1- Le Nom de votre Serveur FTP
2- Le Nom d’utilisateur (Login)
3- Le Mot de passe

Source

  • Dim FTPServer,Login,Password,NomDossier,CheminDossier
  • Copyright = "FolderFTPUpload © Hackoo © 2012"
  • '**********-Trois Paramètres à modifier-*************
  • FTPServer = "ftp.server.com"
  • Login = "MyLogin"
  • Password= "MyPassword"
  • '****************************************************
  • Call Parcourir_Dossier()
  • sub Parcourir_Dossier()
  • Set objShell = CreateObject("Shell.Application")
  • Set objFolder = objShell.BrowseForFolder(0, "Veuillez choisir un dossier pour uploader son contenu"&vbcr&vbTab&Copyright, 1, "c:\Programs")
  • If objFolder Is Nothing Then
  • Wscript.Quit
  • End If
  • NomDossier = objFolder.title
  • CheminDossier = objFolder.self.path
  • Question = MsgBox("Vous avez Choisi le Dossier " &qq(NomDossier)& " qui se localise dans ce chemin :" &Vbcr& qq(CheminDossier)&vbcr&VbTab&VbTab&VbTab&" Continuez ?",vbYesNo + vbQuestion,"Le Dossier Choisi est "&qq(NomDossier)&" "&Copyright)
  • If Question = VbYes Then
  • FolderFTPUpload FTPServer,Login,Password,CheminDossier,NomDossier
  • else
  • wscript.Quit
  • End If
  • end sub
  • Function FolderFTPUpload(sSite, sUsername, sPassword, sLocalFolder, sRemotePath)
  • Const OpenAsDefault = -2
  • Const FailIfNotExist = 0
  • Const ForReading = 1
  • Const ForWriting = 2
  • Set oFTPScriptFSO = CreateObject("Scripting.FileSystemObject")
  • Set oFTPScriptShell = CreateObject("WScript.Shell")
  • Set ws = CreateObject("wscript.Shell")
  • sRemotePath = Trim(sRemotePath)
  • sLocalFolder = Trim(sLocalFolder)
  • 'Vérifier si le chemin, contient des espaces.
  • 'si Oui,alors nous avons besoin d'ajouter des guillemets pour s'assurer qu'il passe correctement.
  • If InStr(sRemotePath, " ") > 0 Then
  • If Left(sRemotePath, 1) <> """" And Right(sRemotePath, 1) <> """" Then
  • sRemotePath = """"&sRemotePath&""""
  • End If
  • End If
  • If InStr(sLocalFolder, " ") > 0 Then
  • If Left(sLocalFolder, 1) <> """" And Right(sLocalFolder, 1) <> """" Then
  • sLocalFolder = """"&sLocalFolder&""""
  • End If
  • End If
  • sFTPTemp = oFTPScriptShell.ExpandEnvironmentStrings("%TEMP%")
  • Call ContenuDossier(CheminDossier)
  • Set f = oFTPScriptFSO.OpenTextFile(sFTPTemp &"\ContenuDossier.txt", ForReading, OpenAsDefault)
  • LireTout = f.ReadAll
  • Fichier = split(LireTout,VbcrLF)
  • f.Close
  • 'construire un fichier de configuration pour passer les commandes ftp
  • sFTPScript = sFTPScript & "USER " & sUsername & vbCRLF
  • sFTPScript = sFTPScript & sPassword & vbCRLF
  • sFTPScript = sFTPScript & "mkdir " & sRemotePath & vbCRLF
  • sFTPScript = sFTPScript & "cd " & sRemotePath & vbCRLF
  • sFTPScript = sFTPScript & "binary" & vbCRLF
  • sFTPScript = sFTPScript & "prompt n" & vbCRLF
  • For i=LBound(Fichier) to UBound(Fichier)-1
  • sFTPScript = sFTPScript & "put "& Fichier(i) & vbCRLF
  • Next
  • sFTPScript = sFTPScript & "quit" & vbCRLF & "quit" & vbCRLF & "quit" & vbCRLF
  • sFTPTempFile = sFTPTemp & "\" & oFTPScriptFSO.GetTempName
  • sFTPResults = sFTPTemp & "\" & oFTPScriptFSO.GetTempName
  • 'Ecrire les commandes ftp à passer dans un fichier temporaire.
  • Set fFTPScript = oFTPScriptFSO.CreateTextFile(sFTPTempFile, True)
  • fFTPScript.WriteLine(sFTPScript)
  • fFTPScript.Close
  • Set fFTPScript = Nothing
  • oFTPScriptShell.Run "%comspec% /c FTP -n -s:" & sFTPTempFile & " " & sSite & _
  • " > " & sFTPResults,0, TRUE
  • 'Vérifier le résultat du Transfert de l'upload
  • Set fFTPResults = oFTPScriptFSO.OpenTextFile(sFTPResults, ForReading, _
  • FailIfNotExist, OpenAsDefault)
  • sResults = fFTPResults.ReadAll
  • fFTPResults.Close
  • oFTPScriptFSO.DeleteFile(sFTPTempFile)
  • 'oFTPScriptFSO.DeleteFile (sFTPResults)
  • If InStr(sResults, "226") > 0 Then
  • FolderFTPUpload = True
  • MsgBox "Tout les fichiers contenu dans le Dossier : " &sLocalFolder& vbcr & vbcr & " ont été uploadés avec succés !"&vbcr& LireTout,64,"Résultat du Transfert d'Upload "&Copyright
  • ElseIf InStr(sResults, "File not found") > 0 Then
  • FolderFTPUpload = "Error: File Not Found"
  • MsgBox "Erreur : Fichier Non Trouvé ?",16,"Erreur : Fichier Non Trouvé ? "&Copyright
  • ElseIf InStr(sResults, "Login authentication failed") > 0 Then
  • FolderFTPUpload = "Error: Login Failed."
  • MsgBox "Login authentication a echoué !",16,"Login authentication failed ! "&Copyright
  • Else
  • FolderFTPUpload = "Error: Unknown."
  • MsgBox "Erreur: Inconnu ?",16,"Erreur: Inconnu ? "&Copyright
  • End If
  • Set oFTPScriptFSO = Nothing
  • Set oFTPScriptShell = Nothing
  • End Function
  • sub ContenuDossier(sLocalFolder)
  • Set ws = CreateObject("wscript.Shell")
  • Set FSO = CreateObject("Scripting.FileSystemObject")
  • sFTPTemp = ws.ExpandEnvironmentStrings("%TEMP%")
  • if fso.FileExists(sFTPTemp &"\ContenuDossier.txt") Then
  • fso.DeleteFile sFTPTemp &"\ContenuDossier.txt"
  • End if
  • Command ="cmd /c for %I in ("&sLocalFolder&"\*.*) do (echo ""%I"") >> "& sFTPTemp &"\ContenuDossier.txt"""
  • Resultat = ws.run(command,0,True)
  • End sub
  • 'c'est une fonction très pratique qui sert à ajouter "les doubles quotes dans une variable"
  • Function qq(strIn)
  • qq = Chr(34) & strIn & Chr(34)
  • End Function
Dim FTPServer,Login,Password,NomDossier,CheminDossier
Copyright = "FolderFTPUpload © Hackoo © 2012"

'**********-Trois Paramètres à modifier-*************
FTPServer = "ftp.server.com"
Login = "MyLogin"
Password= "MyPassword"
'****************************************************

Call Parcourir_Dossier()

sub Parcourir_Dossier()
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Veuillez choisir un dossier pour uploader son contenu"&vbcr&vbTab&Copyright, 1, "c:\Programs")
If objFolder Is Nothing Then
    Wscript.Quit
End If
NomDossier = objFolder.title
CheminDossier = objFolder.self.path
Question = MsgBox("Vous avez Choisi le Dossier " &qq(NomDossier)& " qui se localise dans ce chemin :" &Vbcr& qq(CheminDossier)&vbcr&VbTab&VbTab&VbTab&" Continuez ?",vbYesNo + vbQuestion,"Le Dossier Choisi est "&qq(NomDossier)&" "&Copyright)
If Question = VbYes Then
FolderFTPUpload FTPServer,Login,Password,CheminDossier,NomDossier
else
wscript.Quit
End If
end sub

Function FolderFTPUpload(sSite, sUsername, sPassword, sLocalFolder, sRemotePath) 
  Const OpenAsDefault = -2
  Const FailIfNotExist = 0
  Const ForReading = 1
  Const ForWriting = 2
 
  Set oFTPScriptFSO = CreateObject("Scripting.FileSystemObject")
  Set oFTPScriptShell = CreateObject("WScript.Shell")
  Set ws = CreateObject("wscript.Shell")
  sRemotePath = Trim(sRemotePath)
  sLocalFolder = Trim(sLocalFolder)
  
  'Vérifier si le chemin, contient des espaces. 
  'si Oui,alors nous avons besoin d'ajouter des guillemets pour s'assurer qu'il passe correctement.
 
  If InStr(sRemotePath, " ") > 0 Then
    If Left(sRemotePath, 1) <> """" And Right(sRemotePath, 1) <> """" Then
      sRemotePath =  """"&sRemotePath&""""
    End If
  End If
 
  If InStr(sLocalFolder, " ") > 0 Then
    If Left(sLocalFolder, 1) <> """" And Right(sLocalFolder, 1) <> """" Then
      sLocalFolder = """"&sLocalFolder&""""
    End If
  End If
  
 sFTPTemp = oFTPScriptShell.ExpandEnvironmentStrings("%TEMP%")
  Call ContenuDossier(CheminDossier)

  Set f = oFTPScriptFSO.OpenTextFile(sFTPTemp &"\ContenuDossier.txt", ForReading, OpenAsDefault)
  LireTout = f.ReadAll
  Fichier = split(LireTout,VbcrLF)
  f.Close
  'construire un fichier de configuration pour passer les commandes ftp
  sFTPScript = sFTPScript & "USER " & sUsername & vbCRLF
  sFTPScript = sFTPScript & sPassword & vbCRLF
  sFTPScript = sFTPScript & "mkdir " & sRemotePath & vbCRLF
  sFTPScript = sFTPScript & "cd " & sRemotePath & vbCRLF
  sFTPScript = sFTPScript & "binary" & vbCRLF
  sFTPScript = sFTPScript & "prompt n" & vbCRLF
  For i=LBound(Fichier) to UBound(Fichier)-1
  sFTPScript = sFTPScript & "put "& Fichier(i) & vbCRLF
  Next
  sFTPScript = sFTPScript & "quit" & vbCRLF & "quit" & vbCRLF & "quit" & vbCRLF
 
  sFTPTempFile = sFTPTemp & "\" & oFTPScriptFSO.GetTempName
  sFTPResults = sFTPTemp & "\" & oFTPScriptFSO.GetTempName
  
 'Ecrire les commandes ftp à passer dans un fichier temporaire.
  Set fFTPScript = oFTPScriptFSO.CreateTextFile(sFTPTempFile, True)
  fFTPScript.WriteLine(sFTPScript)
  fFTPScript.Close
  Set fFTPScript = Nothing
 
  oFTPScriptShell.Run "%comspec% /c FTP -n -s:" & sFTPTempFile & " " & sSite & _
  " > " & sFTPResults,0, TRUE
 
  'Vérifier le résultat du Transfert de l'upload
  Set fFTPResults = oFTPScriptFSO.OpenTextFile(sFTPResults, ForReading, _
  FailIfNotExist, OpenAsDefault)
  sResults = fFTPResults.ReadAll
  fFTPResults.Close
 
  oFTPScriptFSO.DeleteFile(sFTPTempFile)
  'oFTPScriptFSO.DeleteFile (sFTPResults)
 
  If InStr(sResults, "226") > 0 Then
    FolderFTPUpload = True
    MsgBox "Tout les fichiers contenu dans le Dossier : " &sLocalFolder& vbcr & vbcr & " ont été uploadés avec succés !"&vbcr&  LireTout,64,"Résultat du Transfert d'Upload "&Copyright

  ElseIf InStr(sResults, "File not found") > 0 Then
    FolderFTPUpload = "Error: File Not Found"
    MsgBox "Erreur : Fichier Non Trouvé ?",16,"Erreur : Fichier Non Trouvé ? "&Copyright
  ElseIf InStr(sResults, "Login authentication failed") > 0 Then
    FolderFTPUpload = "Error: Login Failed."
    MsgBox "Login authentication a echoué !",16,"Login authentication failed ! "&Copyright
  Else
    FolderFTPUpload = "Error: Unknown."
    MsgBox "Erreur: Inconnu ?",16,"Erreur: Inconnu ? "&Copyright
  End If
 
  Set oFTPScriptFSO = Nothing
  Set oFTPScriptShell = Nothing
End Function

sub ContenuDossier(sLocalFolder)
Set ws = CreateObject("wscript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
sFTPTemp = ws.ExpandEnvironmentStrings("%TEMP%")
if fso.FileExists(sFTPTemp &"\ContenuDossier.txt") Then
  fso.DeleteFile sFTPTemp &"\ContenuDossier.txt"
End if 
Command ="cmd /c for %I in ("&sLocalFolder&"\*.*) do (echo ""%I"") >> "& sFTPTemp &"\ContenuDossier.txt"""
Resultat = ws.run(command,0,True)
End sub

'c'est une fonction très pratique qui sert à ajouter "les doubles quotes dans une variable" 
Function qq(strIn) 
    qq = Chr(34) & strIn & Chr(34)
End Function

 Conclusion

Vos commentaires et vos remarques sont les Bienvenues !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture EXPORTATION DU CODE SOURCE AVEC COLORATION SYNTAXIQUE EN HTM...
Source avec Zip Source avec une capture [HTA] VÉRIFICATEUR DES PROCESSUS + VIRUSTOTAL UPLOADER
Source avec Zip Source avec une capture [HTA] VÉRIFICATEUR DE PROCESSUS
Source avec Zip Source avec une capture [HTA] USAGE EN POURCENTAGE DE VOTRE CPU%
Source avec Zip Source avec une capture [HTA] ENCODER VBS2VBE & DECODER VBE2VBS

 Sources de la même categorie

Source avec Zip Source avec une capture EXPORTATION DU CODE SOURCE AVEC COLORATION SYNTAXIQUE EN HTM... par hackoo
Source avec Zip Source avec une capture [HTA] VÉRIFICATEUR DES PROCESSUS + VIRUSTOTAL UPLOADER par hackoo
Source avec Zip LE MOT DE PASSE 2 par reagantshamy
Source avec Zip EXTRACT ACTIVE DIRECTORY ET TRIE AUTOMATIQUE par Falthor
Source avec Zip Source avec une capture [HTA] VÉRIFICATEUR DE PROCESSUS par hackoo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FILE2FTPUPLOAD par hackoo
Source avec Zip Source avec une capture Source .NET (Dotnet) RENOMMER TOUS LES FICHIERS D'UN DOSSIER PAR CLIC DROIT par Le Pivert
Source .NET (Dotnet) CRÉATION DE DOSSIERS, COPIE DE FICHIERS PAR FTP EN VB.NET par zozo14
Source avec Zip Source avec une capture UPLOAD HTTP- PHP par christo16
Source avec Zip ENVOYER UN FICHIER SUR UN SERVEUR (FTP) par cumu

Commentaires et avis

Commentaire de Guillamue06 le 02/08/2012 13:12:07 9/10

9/10 pour pas mettre 10.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Transfere un dossier en ftp avec vb [ par AlfaDemeter ] ah j'ai beau essay&#233; de comprendre le fichier source vb pour suprimer, telecherger, uploader, je ne comprend pas. j'aimerais avoir juste un truc s List Ftp Dossier/Fichier ?? [ par deltaxxx ] Bonjour, J'ai fait un petit client ftp en vb6 utilisant winsock.dll je croyait qu'il &#233;tait au point mais j'ai eu la preuve du contraire lors du l Inet upload de fichier au complet [ par retsam ] Jaimerais que Inet upload&nbsp;un fichier au complet sur mon serveur FTP et non &#224; 0 Ko.S.V.P jai besoin d'aide.Mon code:With Inet1&nbsp;&nbsp; .U Inet plante avec des fichiers tros gros [ par Jeskor ] Je réalise actuelement une application necessitant une liaison ftp permettant l'upload et le download..Voici 2 codes :Public Sub Upload(in_Source, in_ Upload fichier Htm [ par jeje11991 ] Bonsoir,J'ai un code qui génère un fichier .htm et j'aimerais uploader ce fichier, le problème c'est que si je le fais par Ftp le mot de passe de mon Upload de fichier sur un ftp [ par Razordj ] J'aimerais créer un "upload" automatique sur Visual basic express 2008 qui uploaderais sur un serveur Ftp.Il uploaderais tout les fichiers et tout les Ouvrir un fichier via FTP ? [ par renocmoa ] Bonjour, je voudrais ouvrir un fichier ou un dossier distant accesible par FTP avec un truc du genre process.start... Mais avec login et MdP dans le Ecrire dans un fichier texte existant quand mon programme ce lance [ par Triboutmatthieu ] Bonjour, j'ai crée un programme et ce programme se lance dés que Windows s'ouvre.Je voudrais savoir si mon programme pourrait introduire dans un fichi recup d'un fichier sur ftp [ par rex591 ] une petite question sur cette source (trouvée sur ce site)http://www.vbfrance.com/codes/OUVERTURE-COMMON-DIALOG-TELECHARGEMENT_3915.aspxje Action lors d'un dépot de fichier dans un dossier [ par gruzlor ] Salut,Je travaille dans une société qui stocke moults fichiers sur serveurs. Mon problème est que les fichiers sont toujours mal classés et que leurs


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales