Batch Forum Index
RegisterSearchFAQMemberlistUsergroupsLog in
Reply to topic Page 1 of 1
Progress Bar pour observer exécution d'une commande
Author Message
Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Bonjour à tous, j'ai une commande ou je copie colle un fichier d'un dossier à l'autre, cependant, ce dernier est volumineux,

J'aurais aimé savoir sil était possible d'afficher une progress bar qui ping le process ou autre méthode qui permettent d'afficher l'état de progression d'une commande svp ?

Merci par avance



Post Publicité 
PublicitéSupprimer les publicités ?


Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Pour faire une barre de progression, tu peux t'inspirer de ce code :

Code:
@echo off
setlocal EnableDelayedExpansion
set pos="%temp%\CursorPos.exe"
certutil -decode "%~f0" %pos% >nul 2>&1

echo;&echo;
for /l %%i in (0,5,100) do (
  call :drawBar %%i "Barre de Progression Exemple" 50
  ping localhost -n 1 > nul
)

echo;&echo;&echo;
for /l %%i in (0,5,100) do (
  call :drawBar %%i "Barre de Progression Exemple (rapide)" 50
)

echo;&echo;&echo;
for /l %%i in (0,5,100) do (
  call :drawBar %%i "Petite Barre de Progression Exemple (rapide)" 10
)

pause>nul&exit

:drawBar <Percent> <Text> <Size>
if %~1 GTR 100 (set percent=100) else (set percent=%~1)
set /a dx=!percent!*%~3/100&set /a wx=%~3
%pos% +4 -2&echo;%~2&%pos% +0 +0&echo;[
%pos% +%~3 -1&echo; ] !percent!%%&%pos% +1 -1
set load=&for /l %%i in (1,1,%dx%) do set load=!load!Û
echo;!load!
Exit /b


-----BEGIN CERTIFICATE-----
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAsAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABVtbj9EdTWrhHU1q4R1Nau
n8vFrhjU1q7t9MSuE9TWrlJpY2gR1NauAAAAAAAAAABQRQAATAECAOuE4k8AAAAA
AAAAAOAADwELAQUMAAIAAAACAAAAAAAAABAAAAAQAAAAIAAAAABAAAAQAAAAAgAA
BAAAAAAAAAAEAAAAAAAAAAAwAAAAAgAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAA
AAAAABAAAAAAAAAAAAAAABwgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAIAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
QgEAAAAQAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAPYAAAAAIAAA
AAIAAAAEAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAADoBgAAAFDoEwEAAFWL7IPE
4Gr16BIBAACJRfyNReZQ/3X86P0AAABmi0XsZolF5Oi8AAAA6NsAAACAPgB1BYtF
6utcgD49dQZG6MYAAABmi03q6EoAAACJRerotQAAAIA+AHQYgD4sdQZG6KUAAABm
i03k6CkAAABmiUXsi13qU/91/OiuAAAAjUXmUFNqAY1F41D/dfzolQAAAA+2RePJ
wzPAMtsz0ooWRoD6K3QIgPotdQmAywKAywGKFkaA+jByD4D6OXcKgOowa8AKA8Lr
6fbDAXQL9sMCdANm99hmA8FOw8zMzMzMzMzMzMzMzMzoRwAAAIvwigZGPCJ1CYoG
RjwidfnrDIoGRjwgdASEwHX1TsOKBkY8IHT5TsPM/yUUIEAA/yUAIEAA/yUEIEAA
/yUIIEAA/yUMIEAA/yUQIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAG4gAACMIAAAnCAAALogAADWIAAAYCAAAAAAAABEIAAA
AAAAAAAAAADoIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbiAAAIwgAACcIAAA
uiAAANYgAABgIAAAAAAAAJsARXhpdFByb2Nlc3MA9QBHZXRDb25zb2xlU2NyZWVu
QnVmZmVySW5mbwAAagFHZXRTdGRIYW5kbGUAADgCUmVhZENvbnNvbGVPdXRwdXRD
aGFyYWN0ZXJBAG0CU2V0Q29uc29sZUN1cnNvclBvc2l0aW9uAADmAEdldENvbW1h
bmRMaW5lQQBrZXJuZWwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-----END CERTIFICATE-----


Voici un petit screen du rendu :



____________________________________________________

Sinon, pour ta question, en générale si la commande ne renvoie et ne propose aucun moyen pour obtenir l'état sur l'opération en cours, il est impossible de savoir quand cette commande va se terminer (donc impossible de savoir où elle en est donc par conséquent, impossible de "dessiner" une barre de progression)
Néanmoins, tu as 2 solutions :

- trouver une commande (ou tu créé toi même la commande) qui propose cette fonctionnalité
- tu affiches bêtement un "Veuillez patienter, cette opération peut durer plusieurs minutes..."


Dans ton cas, où tu copie un fichier, la commande copy propose justement la fonctionnalité en rajoutant le commutateur /z,
ce qui donne en reprenant mon code ci-dessus :

Code:
@echo off
setlocal EnableDelayedExpansion
set pos="%temp%\CursorPos.exe"
if not "%~1"=="" goto %~1 %~2
certutil -decode "%~f0" %pos% >nul 2>&1


set source=mon_fichier.txt
set destination=mon_dossier
(
copy /z "%source%" "%destination%"
)> "%temp%\dsNFHjdk.txt" | "%~f0" copy "Copie de '!source!' vers '!destination!'" < "%temp%\dsNFHjdk.txt" 2>nul
echo;
echo;  Copie termin‚e


pause>nul&exit

:drawBar <Percent> <Text> <Size>
if %~1 GTR 100 (set percentdd=100) else (set percentdd=%~1)
set /a dx=!percentdd!*%~3/100&set /a wx=%~3
%pos% +4 -2&echo;%~2&%pos% +0 +0&echo;[
%pos% +%~3 -1&echo; ] !percentdd!%%&%pos% +1 -1
set load=&for /l %%i in (1,1,%dx%) do set load=!load!Û
echo;!load!
Exit /b
:copy <Text>
echo;&echo;
set percent=0
for /l %%l in () do (
  set /p data=
  set rawpercent=
  for %%i in (!data!) do if "!rawpercent!"=="" set rawpercent=%%i
  set /a test=!rawpercent!+0
  if !test! LSS !percent! (
    call :drawBar 100 "%~2" 50
    exit
  ) else (
    set /a percent=!test!+0
    call :drawBar !percent! "%~2" 50
  )
)
exit


-----BEGIN CERTIFICATE-----
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAsAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABVtbj9EdTWrhHU1q4R1Nau
n8vFrhjU1q7t9MSuE9TWrlJpY2gR1NauAAAAAAAAAABQRQAATAECAOuE4k8AAAAA
AAAAAOAADwELAQUMAAIAAAACAAAAAAAAABAAAAAQAAAAIAAAAABAAAAQAAAAAgAA
BAAAAAAAAAAEAAAAAAAAAAAwAAAAAgAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAA
AAAAABAAAAAAAAAAAAAAABwgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAIAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
QgEAAAAQAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAPYAAAAAIAAA
AAIAAAAEAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAADoBgAAAFDoEwEAAFWL7IPE
4Gr16BIBAACJRfyNReZQ/3X86P0AAABmi0XsZolF5Oi8AAAA6NsAAACAPgB1BYtF
6utcgD49dQZG6MYAAABmi03q6EoAAACJRerotQAAAIA+AHQYgD4sdQZG6KUAAABm
i03k6CkAAABmiUXsi13qU/91/OiuAAAAjUXmUFNqAY1F41D/dfzolQAAAA+2RePJ
wzPAMtsz0ooWRoD6K3QIgPotdQmAywKAywGKFkaA+jByD4D6OXcKgOowa8AKA8Lr
6fbDAXQL9sMCdANm99hmA8FOw8zMzMzMzMzMzMzMzMzoRwAAAIvwigZGPCJ1CYoG
RjwidfnrDIoGRjwgdASEwHX1TsOKBkY8IHT5TsPM/yUUIEAA/yUAIEAA/yUEIEAA
/yUIIEAA/yUMIEAA/yUQIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAG4gAACMIAAAnCAAALogAADWIAAAYCAAAAAAAABEIAAA
AAAAAAAAAADoIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbiAAAIwgAACcIAAA
uiAAANYgAABgIAAAAAAAAJsARXhpdFByb2Nlc3MA9QBHZXRDb25zb2xlU2NyZWVu
QnVmZmVySW5mbwAAagFHZXRTdGRIYW5kbGUAADgCUmVhZENvbnNvbGVPdXRwdXRD
aGFyYWN0ZXJBAG0CU2V0Q29uc29sZUN1cnNvclBvc2l0aW9uAADmAEdldENvbW1h
bmRMaW5lQQBrZXJuZWwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-----END CERTIFICATE-----


capture:








Sinon, tu peux juste utiliser ça (si tu veux juste le pourcentage) :
Code:
copy /z "mon_fichier.txt" "mon_dossier"





______________________________________________________
EDIT:
dos3.1 wrote:
Up svp

c'est un "up" un peu trop rapide à mon goût Mr. Green
j'ai supprimé le message Okay




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visit poster’s website
Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Ok merci pour la réponse,

Pour le morceau de code que vous m'avez produit, il s'agit bien du temps de progression affiché svp et non pas une progression aléatoire ?



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
dos3.1 wrote:
Ok merci pour la réponse,

Pour le morceau de code que vous m'avez produit, il s'agit bien du temps de progression affiché svp et non pas une progression aléatoire ?


C'est la vrai progression de la commande copy Okay


Et si tu veux "tenter" de comprendre le code que j'ai fais ça va un peu être compliqué si t'es pas trop à l'aise en batch,
j'utilise cette notion : http://batch.xoo.it/t6175-Multi-Thread-pure-batch.htm
et cette notion : http://batch.xoo.it/t5359-Comparaison-des-g-n-rateurs-de-fichiers.htm
surtout ici : https://stackoverflow.com/questions/30837101/how-to-create-an-exe-executabl…

et je faisais mes tests avec un fichier de 400Mo, je t'assure que c'est la vrai barre de progression,
je récupère le status en créant un thread et en redirigeant l'output de la commande copy (avec commutateur /z) vers mon thread par l'intermédiaire d'un fichier et je récupère ça en faisant un set /p




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visit poster’s website
Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Merci, je regarde ceci



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Bonjour,

Est-il également possible de modifier le script de tel sorte à copier coller un dossier svp ?

Merci par avance pour votre aide Wink



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
dos3.1 wrote:
Bonjour,

Est-il également possible de modifier le script de tel sorte à copier coller un dossier svp ?

Merci par avance pour votre aide Wink


Oui, de cette façon :
Code:
@echo off
setlocal EnableDelayedExpansion
set pos="%temp%\CursorPos.exe"
set in_="%~f0"
if not "%~1"=="" (
  call :%~1 "%~2" "%~3" "%~4" "%~5"
  exit
)
certutil -decode "%~f0" %pos% >nul 2>&1


set source=mon_dossier1
set destination=mon_dossier2
call :docopy "!source!" "!destination!" "Copie de '?1' vers '?2'.." "Chargement.." "50"
echo;
echo;  Copie termin‚e
 
 
pause>nul&exit
 
:drawBar <percent> <text> <size>
if %~1 GTR 100 (set percentdd=100) else (set percentdd=%~1)
set /a dx=!percentdd!*%~3/100&set /a wx=%~3
%pos% +0 -2&echo;%~2&%pos% +0 +0&echo;[
%pos% +%~3 -1&echo; ] !percentdd!%%&%pos% +1 -1
set load=&for /l %%i in (1,1,%dx%) do set load=!load!Û
echo;!load!
Exit /b
:copy <text> <current> <total> <size>
echo;&echo;
set percent=0
set isEnd=false
for /l %%l in () do (
  set /p data=
  set rawpercent=
  if "!data!"=="" set data=-10
  for /f "tokens=1,* delims= " %%i in ('echo;!data!') do set rawpercent=%%i
  set /a test=!rawpercent!+0
  if !test! LSS !percent! if !percent! GTR 0 set isEnd=true
  if "!isEnd!"=="true" (
    set /a ptmpd2=%~2*100
    set /a percentreal=!ptmpd2!/%~3
    call :drawBar !percentreal! "%~1" "%~4"
    exit
  ) else (
    set /a percent=!test!+0
    set /a ptmpd1=%~2-1
    set /a ptmpd2=!ptmpd1!*100+!percent!
    set /a percentreal=!ptmpd2!/%~3
    call :drawBar !percentreal! "%~1" "%~4"
  )
)
exit
:docopy <path> <path> <text1> <text2> <size>
  set tmptextd1=Copie de '%~1' vers '%~2'..
  set tmptextd2=Chargement..
  set tmpsized1=50
  if not "%~3"=="" set tmptextd1=%~3
  if not "%~4"=="" set tmptextd2=%~4
  if not "%~5"=="" set /a tmpsized1=%~5+0
  if exist %~1\NUL (
    set total_files=0
    call :drawBar 0 "    !tmptextd2!" "!tmpsized1!"
    for /f %%a in ('2^>nul dir "%~1" /a-d/b/-o/-p/s^|find /v /c ""') do set total_files=%%a
    set tmpindexd1=1
    %pos% +0 -2
    for /f "tokens=* delims=" %%i in ('dir /s/b /a-d "%~1"') do (
      del "%temp%\dsNFHjdk.txt" >nul 2>&1
      if not exist %%~i\NUL (
        set filepathroot=%%~dpi&set filepathroot=!filepathroot:%~1=%~2!
        for %%p in ("!filepathroot!") do (
          set tmptextd1u1=!tmptextd1:?1=%~nx1\!
          set tmptextd1u1=!tmptextd1u1:?2=%~nx2\!
          if not exist %%~p (
            mkdir "%%~p"
          )
          (
            copy /z /v /y "%%~i" "%%~p"
          ) 1> "%temp%\dsNFHjdk.txt" 2>nul | "%in_%" copy "    !tmptextd1u1!" "!tmpindexd1!" "!total_files!" "!tmpsized1!" < "%temp%\dsNFHjdk.txt" 2>nul
          ping localhost -n 1 > nul
          del "%temp%\dsNFHjdk.txt" >nul 2>&1
          set /a tmpindexd1+=1
          %pos% +0 -2
        )
      )
    )
    %pos% +0 +2
  ) else (
    set tmptextd1u1=!tmptextd1:?1=%~nx1!
    set tmptextd1u1=!tmptextd1u1:?2=%~nx2!
    (
      copy /z /v /y "%~1" "%~2"
    ) 1> "%temp%\dsNFHjdk.txt" 2>nul | "%in_%" copy "    !tmptextd1u1!" "1" "1" "!tmpsized1!" < "%temp%\dsNFHjdk.txt" 2>nul
  )
exit /b
 
 
-----BEGIN CERTIFICATE-----
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAsAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABVtbj9EdTWrhHU1q4R1Nau
n8vFrhjU1q7t9MSuE9TWrlJpY2gR1NauAAAAAAAAAABQRQAATAECAOuE4k8AAAAA
AAAAAOAADwELAQUMAAIAAAACAAAAAAAAABAAAAAQAAAAIAAAAABAAAAQAAAAAgAA
BAAAAAAAAAAEAAAAAAAAAAAwAAAAAgAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAA
AAAAABAAAAAAAAAAAAAAABwgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAIAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
QgEAAAAQAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAPYAAAAAIAAA
AAIAAAAEAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAADoBgAAAFDoEwEAAFWL7IPE
4Gr16BIBAACJRfyNReZQ/3X86P0AAABmi0XsZolF5Oi8AAAA6NsAAACAPgB1BYtF
6utcgD49dQZG6MYAAABmi03q6EoAAACJRerotQAAAIA+AHQYgD4sdQZG6KUAAABm
i03k6CkAAABmiUXsi13qU/91/OiuAAAAjUXmUFNqAY1F41D/dfzolQAAAA+2RePJ
wzPAMtsz0ooWRoD6K3QIgPotdQmAywKAywGKFkaA+jByD4D6OXcKgOowa8AKA8Lr
6fbDAXQL9sMCdANm99hmA8FOw8zMzMzMzMzMzMzMzMzoRwAAAIvwigZGPCJ1CYoG
RjwidfnrDIoGRjwgdASEwHX1TsOKBkY8IHT5TsPM/yUUIEAA/yUAIEAA/yUEIEAA
/yUIIEAA/yUMIEAA/yUQIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAG4gAACMIAAAnCAAALogAADWIAAAYCAAAAAAAABEIAAA
AAAAAAAAAADoIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbiAAAIwgAACcIAAA
uiAAANYgAABgIAAAAAAAAJsARXhpdFByb2Nlc3MA9QBHZXRDb25zb2xlU2NyZWVu
QnVmZmVySW5mbwAAagFHZXRTdGRIYW5kbGUAADgCUmVhZENvbnNvbGVPdXRwdXRD
aGFyYWN0ZXJBAG0CU2V0Q29uc29sZUN1cnNvclBvc2l0aW9uAADmAEdldENvbW1h
bmRMaW5lQQBrZXJuZWwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-----END CERTIFICATE-----
 





______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visit poster’s website
Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Merci pour ce script cependant lorsque je renseigne ceci dans le script:

set source=C:\Users\Admin\Documents\repertoire
set destination=C:\destination\

J'ai le résultat suivant, le programme ne transfert rien:

'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Chargement..
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
[
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
] 0%
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Fichier introuvable
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Copie terminÔÇÜe

Pourriez-vous m'aider à régler ceci svp ?

Aussi, existe-t-il un argument de commande pour afficher le pourcentage comme avec copy svp ?



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
dos3.1 wrote:
Merci pour ce script cependant lorsque je renseigne ceci dans le script:

set source=C:\Users\Admin\Documents\repertoire
set destination=C:\destination\

J'ai le résultat suivant, le programme ne transfert rien:

'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Chargement..
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
[
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
] 0%
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Fichier introuvable
'"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Copie terminÔÇÜe

Pourriez-vous m'aider à régler ceci svp ?

Aussi, existe-t-il un argument de commande pour afficher le pourcentage comme avec copy svp ?


Est-ce que vous copier/coller tout le code ? (même le -----BEGIN CERTIFICATE----- ...........)
D'après votre message d'erreur, '"C:\Users\Admin\AppData\Local\Temp\CursorPos.exe"' ne s'est pas généré et cet exécutable est utilisé pour dessiner la progression,

et pour avoir seulement le pourcentage :

Code:
@echo off
setlocal EnableDelayedExpansion

set source=mon_dossier1
set destination=mon_dossier2

for /f "tokens=* delims=" %%i in ('dir /s/b /a-d "%source%"') do (
  set filepathroot=%%~dpi&set filepathroot=!filepathroot:%source%=%destination%!
  for %%p in ("!filepathroot!") do (
    if not exist %%~p (
      mkdir "%%~p"
    )
    copy /z "%%~i" "%%~p"
  )
)

echo;
echo;fin
pause>nul&exit



_______________________________
Edit:

Avez-vous testé le 1er code (dans mon 1er message pour dessiner les barres) ?
celui-ci :
Code:
@echo off
setlocal EnableDelayedExpansion
set pos="%temp%\CursorPos.exe"
certutil -decode "%~f0" %pos% >nul 2>&1
 
echo;&echo;
for /l %%i in (0,5,100) do (
  call :drawBar %%i "Barre de Progression Exemple" 50
  ping localhost -n 1 > nul
)
 
echo;&echo;&echo;
for /l %%i in (0,5,100) do (
  call :drawBar %%i "Barre de Progression Exemple (rapide)" 50
)
 
echo;&echo;&echo;
for /l %%i in (0,5,100) do (
  call :drawBar %%i "Petite Barre de Progression Exemple (rapide)" 10
)
 
pause>nul&exit
 
:drawBar <Percent> <Text> <Size>
if %~1 GTR 100 (set percent=100) else (set percent=%~1)
set /a dx=!percent!*%~3/100&set /a wx=%~3
%pos% +4 -2&echo;%~2&%pos% +0 +0&echo;[
%pos% +%~3 -1&echo; ] !percent!%%&%pos% +1 -1
set load=&for /l %%i in (1,1,%dx%) do set load=!load!Û
echo;!load!
Exit /b
 
 
-----BEGIN CERTIFICATE-----
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAsAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABVtbj9EdTWrhHU1q4R1Nau
n8vFrhjU1q7t9MSuE9TWrlJpY2gR1NauAAAAAAAAAABQRQAATAECAOuE4k8AAAAA
AAAAAOAADwELAQUMAAIAAAACAAAAAAAAABAAAAAQAAAAIAAAAABAAAAQAAAAAgAA
BAAAAAAAAAAEAAAAAAAAAAAwAAAAAgAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAA
AAAAABAAAAAAAAAAAAAAABwgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAIAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
QgEAAAAQAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAAPYAAAAAIAAA
AAIAAAAEAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAADoBgAAAFDoEwEAAFWL7IPE
4Gr16BIBAACJRfyNReZQ/3X86P0AAABmi0XsZolF5Oi8AAAA6NsAAACAPgB1BYtF
6utcgD49dQZG6MYAAABmi03q6EoAAACJRerotQAAAIA+AHQYgD4sdQZG6KUAAABm
i03k6CkAAABmiUXsi13qU/91/OiuAAAAjUXmUFNqAY1F41D/dfzolQAAAA+2RePJ
wzPAMtsz0ooWRoD6K3QIgPotdQmAywKAywGKFkaA+jByD4D6OXcKgOowa8AKA8Lr
6fbDAXQL9sMCdANm99hmA8FOw8zMzMzMzMzMzMzMzMzoRwAAAIvwigZGPCJ1CYoG
RjwidfnrDIoGRjwgdASEwHX1TsOKBkY8IHT5TsPM/yUUIEAA/yUAIEAA/yUEIEAA
/yUIIEAA/yUMIEAA/yUQIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAG4gAACMIAAAnCAAALogAADWIAAAYCAAAAAAAABEIAAA
AAAAAAAAAADoIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbiAAAIwgAACcIAAA
uiAAANYgAABgIAAAAAAAAJsARXhpdFByb2Nlc3MA9QBHZXRDb25zb2xlU2NyZWVu
QnVmZmVySW5mbwAAagFHZXRTdGRIYW5kbGUAADgCUmVhZENvbnNvbGVPdXRwdXRD
aGFyYWN0ZXJBAG0CU2V0Q29uc29sZUN1cnNvclBvc2l0aW9uAADmAEdldENvbW1h
bmRMaW5lQQBrZXJuZWwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-----END CERTIFICATE-----
 





______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visit poster’s website
Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Bonjour,

Non je ne copie colle pas le certificat, juste le code et la barre de progression qui fonctionne bien toute seule.

Mais par exemple, j’ignore pourquoi, lorsque je teste votre dernier code pour avoir juste le pourcentage, la copie ne fonctionne pas:

@echo off
setlocal EnableDelayedExpansion

set source=C:\Users\Admin\Documents\repertoire
set destination=C:\destination\

for /f "tokens=* delims=" %%i in ('dir /s/b /a-d "%source%"') do (
set filepathroot=%%~dpi&set filepathroot=!filepathroot:%source%=%destination%!
for %%p in ("!filepathroot!") do (
if not exist %%~p (
mkdir "%%~p"
)
copy /z "%%~i" "%%~p"
)
)

echo;
echo;fin
pause>nul&exit

comment résoudre ce souci svp ?

Cela est-bien censé transférer un répertoire svp ?

EDIT:

résultat:

C:\Users\Admin\Documents>copiecolle
Fichier introuvable

fin



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Bonjour,

En fait, ce code copie colle un fichier,

cela fonctionne mais je reçois ce message tout de même:

Impossible de copier le fichier sur lui-même.
0 fichier(s) copié(s).

fin

Et je n'ai pas de progression, pourtant je ne copie colle rien sur lui même:

set source=C:\Users\Admin\Documents\repertoire\setup.exe
set destination=C:\destination\

Pourriez-vous m'aiider à comprendre ce qui ne va pas svp ?
Pourriez-vous également me montrer comment avoir la variante pour copier coller des dossier svp ?



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Quand je poste un code, il faut copier/coller tout le code sinon c'est normale que ça marche pas Wink
Copier/coller avec le certificat et vous devriez voir de belle barre de progression apparaître Mr. Green

Maintenant pour votre problème juste avec le pourcentage....
ne mettez pas d'antislash à la fin, remplacer ceci :
Code:
set source=C:\Users\Admin\Documents\repertoire
set destination=C:\destination\

par ceci :
Code:
set source=C:\Users\Admin\Documents\repertoire
set destination=C:\destination


merci de faire attention aux détails, je ne dis rien au hasard et tout, absolument tout, est important Wink
et bien sûr, je prends en compte avec précision tout ce que vous dîtes et je corrige mon approche aussitôt Okay




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visit poster’s website
Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Merci, le transfert de fichier fonctionne bien maintenant, cependant, j'aurais aimé savoir s'il était possible de remplacer le message suivant:

100 % copiés 1 fichier(s) copié(s).

Par:

100 % transfert terminé

svp ?

Je vous remercie par avance

Merci pour la patience dont vous faite preuve



Reply with quote
Post Progress Bar pour observer exécution d'une commande 
Up svp ?



Post Progress Bar pour observer exécution d'une commande 


Display posts from previous:
Reply to topic Page 1 of 1
  



Index | Getting a forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch