Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
[RESOLU]pouvoir afficher l'avancée de la copie d'un fichier.
Auteur Message
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Bonjours, voici ma question:

Est-t-il possible (via une commande externe par exemple) de vérifier la taille d'un fichier qui est copié, je m'explique, j'ai testé un dir tout simple sur un fichier en cour de copie mais la taille et toujours la taille définitive.
Donc je cherche un moyen de pouvoir vérifier la taille réelle du fichier pour pouvoir afficher l'avancée de la copie d'un gros fichier, chose infaisable nativement.

Je suis pas sur qu'une telle commande puisse faire cela mais si vous avez une autre idée dites moi tout^^

pour être claire voici un exemple de ce que je voudrai faire au final:

Code:

if "%taille_du_fichier_sup_a_20Mo%"=="oui" (
call:copie_via nouvelle_fenetre_batch_réduite  "source" "destination"
call:afficher_l'avancée_du_fichier_en_cour_via_l'idée_geniale_d'un_membre_du_forum_batch.xooit
)


J'espère que tous vos cerveaux réunis trouverons quelque chose Smile

Edit: j'ai déjà essayé de récupérer l'avancée du fichier en cours via robocopy.exe mais pas réussi.



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:00; édité 5 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Bon j'ai trouvé une première alternative si jamais vous avez pas d'idées. mais bon sa oblige a afficher la progression dans une fenettre séparée
Code:

@echo off
echo>cp.vbs CreateObject("Shell.Application").NameSpace(WScript.Arguments(1)).CopyHere WScript.Arguments(0),16
cscript cp.vbs "source" "destination"
del cp.vbs
pause





______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
je me suis dit que coder une commande externe qui copie un fichier et qui écrit dans un fichier txt le pourcentage de copie devait être faisable du genre:

commande.exe "source" "destination" "nom du fichier txt"

Mais bon j'y connait rien en vb j'ai test mais sa me demanderai trop de temps à apprendre et je ne pense pas que cela soit faisable en vbs.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Hello
Le batch n'est pas un langage multi-processus.
Il ne peu effectué qu'une action a la fois.
On peu certainement faire sa avec une commande externe mais si tu veux y faire avec du batch tu sera forcé de faire 2 programme.
Si sa peu t'aidé i'a pas mal de temps j'avais pensé a une technique pour faire communiqué deux programme batch en parallèle:
Enfet c'est simple tes deux batch vons communiqué grâce a un fichiers .txt l'un va envoyé des information et l'autre va les lire et s'en servir.
Cependant même avec cette technique je ne vois pas comment faire une barre de progression précise lors d'une copie. (je vien de te donné un indice Okay )
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
salut, merci d'avoir répondu Wink

Pour ce qui est du calcul d'un barre d'avancement pour un seul fichier je pense pouvoir le réaliser, et je sais bien que je suis obligé de passer par 2 processus ou plutôt 2 fenêtres différentes mais que je peu cacher au pire. Et pour ce qui est du transfert d'info via fichier txt c'est exactement ce que je pensai faire:
Citation:

je me suis dit que coder une commande externe qui copie un fichier et qui écrit dans un fichier txt le pourcentage de copie devait être faisable


Mon problème c'est de créer cette fichu commande qui serai capable de faire sa Crying or Very sad car d'apres ce que je sais seul le programme qui s'occupe de la copie est capable de retourner une information en temps réel sur la progression.

ps: cette commande peut écrire la taille de copie effectuée pas forcement un pourcentage tant que sa me permette de connaitre la progression en cours.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Hello
Peut être qu'il est possible de savoir combien "pèse" le fichiers lors de la copie ? Si c'est le cas on peu facilement faire un pourcentage en récupéran la masse d'origine Wink
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
hello!

Ce que tu peut faire c'est par exemple compter le nombre de lignes du fichier à copier puis le recopier ligne par ligne (code 100% batch Very Happy):
Code:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
set /p file=entrez le chemin du fichier à copier ^>
set /p dest=entrez la destination du fichier à copier ^>
set nbLine=0
REM on compte le nombres de lignes du fichier
FOR /f "tokens=*" %%A IN (!file!) DO SET /a nbline+=1
SET pourCent=0
SET Effect=0
FOR /f "tokens=*" %%A IN (!file!) DO (
SET /a Effect+=1
SET /a pourCent=!effect!*100/%nbLine%
ECHO %%A >> %dest%
ECHO copie en cours ... !pourCent! %% effectu‚s
)
PAUSE>NUL


biensur c'est bien plus long la copie Mr. Green

@+



Dernière édition par Darkbatcher le Jeu 30 Juin 2011 - 22:47; édité 1 fois

______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Hello
Moui enfin la sa fait le pourcentage en fonction du nombre de ligne (je me trompe ?) donc c'est pas Très fiable si c'est un .exe ou un truc crypté mais c'est une bonne idée quand même Smile
EDIT: Et tu as pensé a si le *truc* a copié serais un dossiers ? Laughing
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
en effet Darkbatcher ta solution n'est pas viable dans mon cas^^ mais c'est bien je vois que mon problème suscite l’attention Very Happy




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Hello
Moi je te conseil de testé ce que j'ai dit plus haut:
Citation:
Peut être qu'il est possible de savoir combien "pèse" le fichiers lors de la copie ? Si c'est le cas on peu facilement faire un pourcentage en récupéran l;a masse d'origine

Logiquement tu peux effectivement savoir combien "pèse" le fichiers lors de la copie, du moin, c'est se que je pense je n'est pas testé mais sa pourai le faire
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
rekaca a écrit:
EDIT: Et tu as pensé a si le *truc* a copié serais un dossiers?

ça ce n'est pas un problème Very Happy

mais il faut quoi pour que ce soit viable ?

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
@rekaca: moi aussi je pense comme toi que c'est possible (via une commande externe), le problème c'est que je ne suis pas capable de réaliser une telle commande (qui est surement extrêmement simple mais demande de savoir coder en vb ou C car je ne pense pas que cela soit faisable en vbs)

@darkbatcher: pour que cela soit viable il faut que je puisse récupérer une information qui me permette de calculer ma barre d'avancement (donc soit la taille copié, soit le pourcentage directement, soit la taille restante a copier) sur la copie d'un fichier en cours. (n'importe quel fichier et de manière efficace càd pas de copie en lisant des lignes ou autre)

Pour faire cela je pensai donc a une commande externe qui ferai une copie et qui écrierait l'avancement dans un fichier txt pour que je puisse l'afficher dans le batch.

de ce genre la mais ici il n'y a pas d'information renvoyé dans un fichier txt:
echo>cp.vbs CreateObject("Shell.Application").NameSpace(WScript.Arguments(1)).CopyHere WScript.Arguments(0),16
cscript cp.vbs "source" "destination"

Au final je cherche quelqu'un qui pourrait m'aider à réaliser cette commande externe car je ne vois que cette solution.
C'est pour améliorer l'affichage de ce programme.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Hello
Je ne pense pas qu'il fau une commande externe pour savoir quelle est le poi d'un fichiers Neutral
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
hello!

dans tous les cas c'est aussi hasardeux de faire la barre en fonction du poids du fichiers...

à la limite, il faudrait une commande externe comme tu le dis... mais je suis pas sur que le batch soit assez rapide pour lire le fichier ...

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 
Hello
A oui je n'y avais pas pensé a la rapidité du batch Confused
Mais de toute façon si on essai de faire sa en batch a mon avis sa ne marchera jamais a la perfection...
£`/@]




______________________________________________________


*Si l'erreur est humaine c'est parce que l'humanité en est une.*

£'/@] - Anciennement rekaca
MSN Skype
Message [RESOLU]pouvoir afficher l'avancée de la copie d'un fichier. 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch