Copiar archivos en CMD  usando xcopy.
Necesitamos:
El programa,  carpetas acopiar y los 
parametros para el archivo bat.
xcopy "carpeta de origen" "carpeta de destino" /e /i /h /y
Bien ahora quiero que muestre el progreso de copiado en CMD.
Agreguen lo siguiente al archivo bat.
- @echo off
- REM tamaño de ventana
- mode 100,38
- setlocal EnableDelayedExpansion
- setlocal enableextensions 
- REM  GOZARCK SALUTE YOU Por favor sientase libre de modificar estos archivos batch.
- title CMD File copier -- BY GOZARCK  (C) 2017
- REM configura la carpeta de origen(cdo)
- set cdo=J:\games\GOG Games\Enter the Gungeon
- REM configura la carpeta de destino(cdd)
- set cdd=Z:\games\GOG Games\Enter the Gungeon 
- REM xcopy "carpeta de origen"  "carpeta destino" parametros.
- call !mbt! | start /b xcopy  "%cdo%\*.*" "%cdd%" /e /i /h /y
- REM :mbt es donde se encuentra los procesos de sumar, multiplicar y dividir para crear el progreso
- :mbt
- REM obtener el tamaño de carpeta de origen (cdo)
- REM sizeo es el tamaño inicial se encuentra en bytes
- set sizeo=0
- for /r "%cdo%" %%k in (*) do set /a sizeo+=%%~zk
- REM sizeo al estar en bytes lo que hacemos es convertirlo en a kb 
- set /a KBo=%sizeo%/1024
- REM obtener el tamaño de carpeta de destino (cdd)
- REM size es el tamaño inicial se encuentra en bytes
- set size=0                                       
- for /r "%cdd%" %%x in (*) do set /a size+=%%~zx
- REM al estar en bytes lo que hacemos es convertirlo en a kb
- set /a KB=(%size%/1024)
- REM o tambien a MB
- set /a MB=(%size%/1024)/1024
- REM tomamos el tamaño de la carpeta de origen en KB y lo convertimos en una variable dinamica(simbolizada con "!") la cual cambia constantemente. 
- set /a v=!KBo!
- REM MBd mostrar en progreso
- set /a MBd=(%v%/1024)
- REM KBd mostrar en progreso
- set /a KBd=%v%
- REM esta es la variable de progreso en porcentaje. el simbolo de porcentaje se coloca escribiendo el mismo 3 veces(ejemplo 100%%%).
- set /a prog=( 100 * %KB% ) / %v%
- REM Mostrar progreso en la barra de titulo.
- title Copiando Archivos --  %KB% / %Kbd% KB -- -- %MB% / %MBd% MB 
- Progreso %prog%%%%
- REM si el progreso llega a 100% ir hacia pausa.
- if %prog%==100 goto:pause
- REM sino volver a mbt
- goto:mbt
- endlocal
- :pause
- REM pausa
- pause
- REM fin del archivo
- goto:eof
- ) 
Error de división por cero.
ResponderEliminar"Progreso" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
No se esperaba goto:pause en este momento.
Un error comun puede ser el xcopy.
Eliminarprueba reemplazando la linea 13 con:
call !mbt! | start /b copy "%cdo%\*.*" "%cdd%"