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 :

Copier un fichier mais garder sa trace VBS


Sujet :

VBScript

  1. #1
    Membre régulier
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Par défaut Copier un fichier mais garder sa trace VBS
    Bonjour, j'ai un problème avec mon code.

    Il y a beaucoup de texte mais c'est pour être plus précis

    Je vous explique ce qu'il doit faire :

    Je dois copier des fichiers dans un dossier temp
    je vérifie que le fichier a bien été copié
    je supprimer le fichier à la source

    Je dois copier les fichiers du genre 111(123 f5) donc *(??? f?).*
    - titre différent, extention différente mais toujours 3 chiffres à l'intérieur
    des parathèses avec un espace et un "f" suivi d'un autre chiffre

    Je dois vérifier dans plein de répertoire donc je fais une fonction récursive

    La copie se fait bien, mais je n'ai pas de "controle" sur le fichier qui est copié
    J'aimerais pouvoir connaitre le chemin du dossier avant la copie (voir ICI) et apres la copie ( voir ICI ),
    avant pour que je puisse l'effacer à la source et apres pour que je puisse vérifier si
    il a été copié.

    Voici le résultat à l'écran, c'est justement le *(??? f?).* exemple: 222(dwv f1).doc que j'aimerais voir après le dernier \
    C:\testv\dossiertest\
    C:\testv\dossiertest\toto\
    C:\testv\dossiertest\toto\titi\
    C:\testv\dossiertest\toto\temp\
    C:\testv\dossiertest\toto\temp\jdh220\

    Voici mon code.

    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
    Set FSO = CreateObject("Scripting.FileSystemObject") 'construction de mon objetShowSubfolders FSO.GetFolder(fichierActuel) '"fichier actuel" pointe sur un fichier ini ou il est écrit c:testf\ Sub ShowSubFolders(Folder) ' Fonction récursive
    For Each Subfolder in Folder.SubFolders
    Wscript.Echo Subfolder.Path ' Écriture de vérification dans la fenetre dos -- enlever par la suite 
    Set fichierAVANTcopie = ICI
    FSO.CopyFile SubFolder & "\*(??? f?).*" , "c:\dossiertemp" ' copie du fichier - pas de problème
    Set fichierAPREScopie = ICI
    nFile = fichierAPREScopie ' Vérifier si le fichier à été copié
    if FSO.FileExists(nFile) then
    
    FSO.DeleteFile(fichierAVANTcopie) ' supprime le fichier à la source
    
    FLogC.WriteLine "le fichier " & nfile & " a été copié et supprimé de la source" ' si le fichier existe 
    else
    ' si le fichier n'existe pas
    FLogNC.WriteLine "le fichier " & nfile & " n'a pas été copié" 
    end if
    
    ShowSubFolders Subfolder ' rappel de la fonction ( "récursivité" )
    
    Next 
    
    End Sub
    j'espère que c'est clair, je me doute que c'est une commande genre getfile ou getfolder

    Merci beaucoup

  2. #2
    Membre régulier
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Par défaut Garder la trace d'un fichier ( question reformulé )
    Bonjour, pour ceux qui ont vue ma dernière question, il y avait trop de blabla

    la simple chose que je veux faire, c'est copier du type \*(??? f?).* ex: 1542(hgh v4).doc un fichier d'un dossierA à un dossierB et vérifier s'il a bien été copier ( s'il existe). Mais j'aimerais garder sa trace ICI et ICI pour pouvoir le supprimer de la source ( dossierA ).

    Ligne de commande qui copie, elle fonctionne mais c'est comme si je copiais les yeux fermé.

    Dans une fonction récursive :

    set fichieravant = FSO.GetFile ??????????????? <- ICI

    si je fais ex. set fichieravant = FSO.GetFile(subfoler & "\*(??? f?).*)
    il me dit que mon fichier n'est pas trouvé.

    FSO.CopyFile subfolder & "\*(??? f?).*", dossiertemp
    set fichierapres = FSO.GetFile ??????????????? <- et ICI

    pour ensuite pouvoir faire :
    FSO.DeleteFile(fichieravant)

    Merci beaucoup

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/08/2010, 11h20
  2. effacer des fichiers sans garder trace ?
    Par ouldfella dans le forum Windows Vista
    Réponses: 3
    Dernier message: 26/01/2010, 10h15
  3. Copier un fichier dans un espace choisi mais limité?
    Par dtcSearch dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 05/01/2010, 09h54
  4. Partager un fichier mais sans pouvoir le copier
    Par mouloudéen dans le forum Windows XP
    Réponses: 3
    Dernier message: 31/12/2007, 14h04
  5. Garder une trace des fichiers log
    Par Krispy dans le forum Administration système
    Réponses: 2
    Dernier message: 10/05/2006, 19h20

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