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 :

automatiser une récupération de fichier


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut automatiser une récupération de fichier
    bonjour a tous
    bon moi je suis ici car je me suis mi a VBS cet aprem vers 14h+/- et j'ai toujours pas décrocher, je suis en train de m'arracher les cheveux et de me retourner le cerveau (du moins ce qu'il en reste...)

    mon souci c'est que je voudrai automatiser une procédure pour récupéré des fichiers sur un réseau ( jusque là sa va..), il me faut les copier sur une clé, les suprimé du reseau (la c'est toujours bon), et il me faut en refaire une autre copie dans un autre endroit du reseau, le souci pour la dernière manip c'est que c'est une sauvegarde "longue durée" sur le DD du serveur et que pour l'instan,t avec la méthode manuelle les dossiers été classé en fonction de la date et de l'heure de récupération... et ça je sais pas le faire autre que manuellement...
    help !!

    bon je sais que mes explication sont pas très claire alor je vais tenté un shema d'arboréscence pour me faire comprendre:
    (z:\) => mon lecteur réseau
    (f:\) => ma clé usb

    shema avant la manip:

    z:\ |emis\|054XXX415(dans chacun de ces fichiers il y a des commandes.xml)
    .....|recu
    .....|svg\ |054XXX415\08-01-08-08h30\commande.xml

    le dossier svg est un dossi de sauvegarde, le dossier emis c les commandes qu'on doi transféré, et 552XXX320 correspond a une désignation de fournisseur.
    la dernière ligne est un exemple d'une sauvegarde de commande pour le fournisseur 054XXX415 qu'on a envoyé le 08 janvier 2008 a 8h30...

    Et c'est ICI mon problème car avec VBS quand on fait: Name = Now
    parce que les séparateur de la date sont des / et que ce symbole n'est pas utilisable pour des nom de dossiers....
    ensuite quand je fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim un,deu
    Set un = CreateObject("Scripting.FileSystemObject")
    Set deu=un.CreateFolder ("z:\svg\054XXX415\newfolder")
    je voudrai savoir se que je doi taper comme commande pour appeller mon dossier yy-mm-dd-HHhmm

    dd= day
    mm= month
    yy= year
    HH= heure (le h minuscule je le ve comme séparatif)
    mm= minutes

    si quelqu'un a une réponse ou meme un début de ligne de code je le remerci d'avance, car moi la j'avance plus....


    P.S: après vendredi midi je risque de plus avoir le net, donc de pa pouvoir répondre d'un petit momen, c pas que je vous ai oublier, je pourrai juste pas venir, merci de votre compréhention....

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    utilise ces fonctions que tu cite ..:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wscript.echo day(now) & "-" & month(now) & "-" & Year(now) & "-" &  hour(now) & "h" & minute(now)

  3. #3
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Salut,

    tu as la commande replace qui remplace un caractere par un autre. Exemple :

    si tu veux conserver l'espace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    K = Replace(Left(Replace(Now, "/", "-"), 16), ":", "h")
    Msgbox K
    ou la même chose sans espace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    K = Replace(Replace(Left(Replace(Now, "/", "-"), 16), ":", "h"), " ","")
    Msgbox K
    ou la même chose avec un tiret à la place de l'espace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    K = Replace(Replace(Left(Replace(Now, "/", "-"), 16), ":", "h"), " ","-")
    Msgbox K
    A++

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    merci de vos réponses vous m'avez deja bien filé un coups de main...
    mais il me reste un souci, c'est pour utilisé la variable K (ce qu'elle représente en fait) comme nom de dossier...
    pour l'instant j'ai sa mais sa marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    K = Replace(Replace(Left(Replace(Now, "/", "-"), 16), ":", "h"), " ","-")
    Dim oFSO,oFld 
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFld=oFSO.CreateFolder ("f:\K")
    Msgbox K
    sa non plus sa marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    K = Replace(Replace(Left(Replace(Now, "/", "-"), 16), ":", "h"), " ","-")
    Dim oFSO,oFld 
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFld=oFSO.CreateFolder ("f:\& K")
    Msgbox K
    mais c'est pour vous donnez un aperçu de ce que j'aimerai comme résultat...
    merci encore...

    P.S: j'ai mis le Msgbox en fin de code meme si sa sert a rien car au moins je sais que l'execution du script est terminé

    édit: j'ai parler avec un collègue qui fait du php et il me dit que se que je ve faire c'est de la concaténnation, je sais pas si sa pourra vous aider...

  5. #5
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Attention,

    K est une variable qui réécrit "Now" en prennant les 16 caractères de gauche de Now, puis remplace les "/" par des "-", puis premplace ":" par "h". K pourrait aussi bien s'appeler toto par exemple.
    Donc au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oFld=oFSO.CreateFolder ("f:\& K")
    essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oFld=oFSO.CreateFolder ("f:\" & K & )
    le caractère & sert à concatener.

    A++

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    essaie ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oFld=oFSO.CreateFolder ("f:\" & K & )
    le caractère & sert à concatener.
    Je pense qu'il devrait plutot essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oFld=oFSO.CreateFolder ("f:\" & K)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    MERCI !!
    avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oFld=oFSO.CreateFolder ("f:\" & K)
    sa marche nikel

    parcontre sa marque: 10-01-2008-16h41
    au lieu de 08-01-10-16h41
    il faut que j'utilise les commande day, month... séparément pour changer le format? ou ya une commande qui permet de le faire d'un coup?
    comment je peu avoir l'année uniquement sur 2 chiffre au lieu de 4 ???

    merci encore vous m'avez deja super aider...

Discussions similaires

  1. Automatiser une importation de fichier Excel
    Par pascalb41 dans le forum SSIS
    Réponses: 2
    Dernier message: 25/09/2014, 17h03
  2. [XL-2003] Automatiser la récupération de fichiers .txt
    Par Maxime082 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/05/2011, 09h35
  3. [CFT] Initialiser une récupération de fichier
    Par florentB dans le forum Protocoles
    Réponses: 1
    Dernier message: 16/02/2011, 14h15
  4. Réponses: 1
    Dernier message: 05/03/2007, 20h51
  5. Réponses: 8
    Dernier message: 21/04/2006, 11h02

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