IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

envoyer le dossier JPG par FTP sans devoir le compressé


Sujet :

VBScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Par défaut envoyer le dossier JPG par FTP sans devoir le compressé
    Suite de la discussion: VBS: recherche par extension et copie dans un dossier

    Citation Envoyé par hackoofr Voir le message

    Voila, tu peux tester cette version qui marche chez moi (Windows 7 32 bits) en utilisant Winrar en ligne de commande
    J'ai ajouté cette fonction Compression(Source,Destination,Password).
    Elle est très simple à utiliser
    Tu as le choix de protéger ton archive par mot de passe, alors, tu l'appelle comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Compression(Source,Protected_Destination,Password)'L'archive est protégé par un mot de passe
    Si tu préfères l'utiliser sans mot de passe, alors, tu l'appelle comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Compression(Source,Destination,"")'Sans Mot de passe
    et le code complet te montre les deux à la fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    Option Explicit
    Dim fso,ws,MyDoc,d,bf,dc,racine,ExtensionType,Password,Protected_Destination
    Dim arrResult,sDrv,sFName,sFile,Source,Destination
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ws = CreateObject("Wscript.Shell")
    MyDoc=ws.SpecialFolders("MyDocuments")'Dossier Mes Documents
    Set bf = fso.GetFolder(MyDoc)
    ExtensionType  = "JPG"
    Source = MyDoc & "\" & ExtensionType
    Destination = MyDoc & "\" & ExtensionType & ".rar" 'Nom de l'archive normale sans protection par mot de passe
    Protected_Destination = MyDoc & "\" & ExtensionType & "_Protected.rar" 'Nom de l'archive protégé par mot de passe
    Password = "123456" 'Changer juste cette variable pour choisir un autre mot de passe pour l'archive
    Call CreateFolder(ExtensionType)
    Set dc  = fso.Drives
    For Each d in dc
    	If d.IsReady Then
    		racine = d.Driveletter & ":"
    		GetResults racine,ExtensionType
    	End If
    Next
    Call Compression(Source,Destination,"")'Sans Mot de passe
    Call Compression(Source,Protected_Destination,Password)'L'archive est protégé par un mot de passe
    '**********************************************************************************
    Sub GetResults(drv,fname)
    	On Error Resume Next
    	Dim sWQL,oFile,Results
    	sWQL     = "select * from cim_datafile where Drive='" & _
    	drv & "' AND Extension = '" & fname & "'"
    	For Each oFile In GetObject("winmgmts:").execquery(sWQL)
    		sFile   = oFile.Name
    		CopyFile sFile,ExtensionType
    	Next
    End Sub
    '**********************************************************************************
    Sub CreateFolder(name)
    	Set fso    = CreateObject("Scripting.FileSystemObject")
    	If Not FSO.FolderExists(bf & "\" & name) Then
    		bf.subFolders.Add(name)
    		Else : Exit Sub
    	End If
    End Sub
    '**********************************************************************************
    Function CopyFile(sFile,name)
    	Dim  fso,ws,MyDoc,bf
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	Set ws = CreateObject("Wscript.Shell")
    	MyDoc = ws.SpecialFolders("MyDocuments")'Dossier Mes Documents
    	Set bf = fso.GetFolder(MyDoc)
    	If FSO.FolderExists(bf & "\" & name) Then
    		FSO.GetFile(sFile).Copy bf & "\" & name & "\" & FSO.GetFileName(sFile),True
    	Else
    		MsgBox "erreur du chemin",16,"erreur du chemin"
    	End If
    End Function
    '**********************************************************************************
    Function Compression(Source,Destination,Password)
    	Dim oFSO,oShell,aScriptFilename,sScriptFilename
    	Dim sWorkingDirectory,ProgramFiles,sWinZipLocation
    	Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
    	Set oShell = WScript.CreateObject("Wscript.Shell")
    '--------Trouver le répertoire de travail--------
    	aScriptFilename = Split(Wscript.ScriptFullName, "\")
    	sScriptFilename = aScriptFileName(Ubound(aScriptFilename))
    	sWorkingDirectory = Replace(Wscript.ScriptFullName, sScriptFilename, "")
    '--------------------------------------
    	ProgramFiles = oShell.ExpandEnvironmentStrings("%ProgramFiles%")
    '-------S'assurer que nous pouvons trouver WinRAR.exe------
    	If oFSO.FileExists(sWorkingDirectory & " " & "Winrar.EXE") Then
    		sWinZipLocation = ""
    	ElseIf oFSO.FileExists(ProgramFiles &"\Winrar\Winrar.EXE") Then
    		sWinZipLocation = ProgramFiles &"\Winrar\"
    	Else
    		Compression = "Erreur: Impossible de trouver Winrar.EXE"
    		MsgBox Compression,16,Compression
    		Exit Function
    	End If
    '--------------------------------------
    'La Commande A : Signifie ==> ajouter à une archive
    'Le Commutateur -IBCK ==> Signifie : Lancer WinRAR en arrière-plan
    	If Password = "" Then
    		oShell.Run """" & sWinZipLocation & "winrar.exe"" A -IBCK """ & _
    		Destination & """ """ & Source & """",0,True 
    	Else
    'Le Commutateur -P<mot_de_passe> : Pour utiliser un mot de passe
    		oShell.Run """" & sWinZipLocation & "winrar.exe"" A -IBCK -p"&Password&" """ & _
    		Destination & """ """ & Source & """",0,True 
    	End If
    	If oFSO.FileExists(Destination) Then
    		Compression = 1
    	Else
    		Compression = "Erreur : Création d'archives a échoué !"
    		MsgBox Compression,16,Compression
    	End If
    End Function
    Merci ça fonctionne..

    Par contre je pense que la compression sera pas vraiment nécessaire car la taille du dossier JPG ne diminue de presque rien pour un temps fou..

    En final je voudrais envoyer ce dossier JPG via mail ou ftp.. (le plus mieux entre les 2 quoi )

    Pour cela j'ai pensé a créer un serveur avec (typsoft ftp server) pour pouvoir recevoir les dossier JPG..

    Qu'en pensez vous?

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Tu dois passer par la compression si tu veux les envoyer par FTP ou bien par Mail pour qu'il te crée un fichier à uploader au lieu d'un dossier ou bien un fichier en pièce-jointe au lieu d'un dossier aussi.
    moi je préfère continuer l'envoi par FTP et c'est à toi de choisir
    Tu peux continuer ton script par la fonction FTPUpload ==> FTP sous VBS pour test débit avec affichage du résultat

    En faite, je n'ai pas vu mon +1

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Tu dois passer par la compression si tu veux les envoyer par FTP ou bien par Mail pour qu'il te crée un fichier à uploader au lieu d'un dossier ou bien un fichier en pièce-jointe au lieu d'un dossier aussi.
    moi je préfère continuer l'envoi par FTP et c'est à toi de choisir
    Tu peux continuer ton script par la fonction FTPUpload ==> FTP sous VBS pour test débit avec affichage du résultat

    En faite, je n'ai pas vu mon +1
    Merci, alors je choisi par FTP..

    Avez vous une solution pour pouvoir envoyer le dossier JPG par FTP sans devoir le compressé?

    Est ce meilleur de créer un serveur ftp avec par exemple (typsoft ftp server) ou alors tout simplement l’héberger sur le net pour l'envoie du dossier JPG ?

    Comment faire pour mettre les +1 ?

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par zollen777 Voir le message
    Comment faire pour mettre les +1 ?
    Juste vous cliquez sur le bouton comme celui-là qui se trouve en bas et à droite de chaque post

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Par défaut
    Citation Envoyé par hackoofr Voir le message
    Juste vous cliquez sur le bouton comme celui-là qui se trouve en bas et à droite de chaque post
    Si c'est ça, alors je l'avais déjà fais..

Discussions similaires

  1. [AC-2007] Envoyer un mail Outlook par vba sans passer par le ClickYes
    Par lakhdar16 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/05/2012, 17h17
  2. [Image] Afficher image récupérée par FTP sans fichier temporaire
    Par grinder59 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/05/2006, 09h17
  3. Réponses: 2
    Dernier message: 19/04/2006, 13h43
  4. FTP sans internet par modem et RTC
    Par stkam dans le forum Développement
    Réponses: 5
    Dernier message: 03/11/2004, 09h56
  5. Réponses: 1
    Dernier message: 19/08/2003, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo