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

VB.NET Discussion :

Équivalent ROBOCOPY avec VB.Net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Shennong
    Homme Profil pro
    Technicien Informatique/Hotliner
    Inscrit en
    Février 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Informatique/Hotliner
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 186
    Par défaut Équivalent ROBOCOPY avec VB.Net
    Bonjour,

    Ne trouvant pas la réponse, je viens vous poser la question qui me préoccupe aujourd'hui :

    Comment peut-on remplacer le ROBOCOPY d'un batch en VB.Net ?

    La commande batch en question serait celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    robocopy %source% %destination% /E /R:2 /W:5 /LOG:%scripts%\LOG.txt /X /NP
    Car le but serait de sauvegarder régulièrement les fichiers et sous-dossiers d'un dossier source, vers un dossier destination, et que de cette façon, la copie ne soit pas totale, mais uniquement sur les fichiers qui ont été modifiés.

    Pensez-vous que cela soit possible ? La petite subtilité, c'est que j'aimerai pouvoir un aperçu de l'avancement de cette copie dans une progressbar.

    Merci d'avance à ceux qui pourront m'aider.

    Cordialement-

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 200
    Par défaut
    si tu ne veux pas d'avancement ca tient en une ligne de code
    si tu veux le progressbar il faut le coder par contre ca doit exister tout fait sur le net (googler:my.computer.filesystem.copydirectory progressbar)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé Avatar de Shennong
    Homme Profil pro
    Technicien Informatique/Hotliner
    Inscrit en
    Février 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Informatique/Hotliner
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 186
    Par défaut
    Bonjour Pol63,

    Merci d'avoir pris le temps de répondre à ma question. La progressbar ne me préoccupe pas plus que ça, je la ferait fonctionner sans problème, c'était plus pour info si cela pouvait aider.

    Par contre tu m'intrigues, en me disant que cela peut tenir en une ligne de code !
    Aurais-tu l'amabilité de me montrer un exemple stp car, je serai très intéressé par ta méthode. Le CopyDirectory semble prometteur, comme expliqué ici :

    https://docs.microsoft.com/fr-fr/dot...ther-directory

    Cependant, ils disent que les deux dossiers sont fusionnés ... je me demande si cela signifie que tous les fichiers du dossier source sont copiés dans le destination, et que donc tous les fichiers sont remplacés (modifiés ou non).
    L'idéal serait une sauvegarde incrémentielle, pour gagner du temps. Car là je pars sur de la sauvegarde de données automates. C'est quelques gigas, mais un nombre faramineux de fichiers, et donc une sauvegarde assez longue.

    Je vais donc me pencher sur le CopyDirectory en espérant trouver une solution viable. Sinon je devrai ruser en utilisant une vérification de la date du fichier, puis une comparaison avec le fichier dans la destination pour savoir s'il faut l'écraser ou non. Cela risque long...

    Merci.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 200
    Par défaut
    si robocopy %source% %destination% /E /R:2 /W:5 /LOG:%scripts%\LOG.txt /X /NP fait exactement ce que tu cherches à faire, tu peux juste faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process.Start("robocopy %source% %destination% /E /R:2 /W:5 /LOG:%scripts%\LOG.txt /X /NP")
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé Avatar de Shennong
    Homme Profil pro
    Technicien Informatique/Hotliner
    Inscrit en
    Février 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Informatique/Hotliner
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 186
    Par défaut
    Oui je suis entièrement d'accord, c'est la solution la plus simple. J'aurai juste aimé que tout se passe dans mon appli, avec une barre de progression. Le fait d'utiliser cette commande va ouvrir une fenêtre DOS, et je ne pourrai rien faire depuis l'appli.

    Il semble que mon problème n'ait donc pas de solution.

    Merci quand-même d'avoir essayé.

    Cordialement-

Discussions similaires

  1. [VB.NET] Formulaire word a remplir avec vb.net
    Par Monster77 dans le forum Windows Forms
    Réponses: 15
    Dernier message: 16/08/2011, 14h22
  2. Connexion interbase avec vb.net
    Par ffrancky dans le forum InterBase
    Réponses: 1
    Dernier message: 04/10/2005, 17h56
  3. Réponses: 3
    Dernier message: 08/04/2004, 13h40

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