Como formatear unidad USB con .bat

Necesito crear un archivo .bat para formatear una unidad usb ya que lo usare como backup y siempre cargue la copia más reciente, please ayuda

Respuesta
1

¿Quieres formatear la unidad USB en todo caso? Lo digo porque los comandos utilizados normalmente para hacer backup (ROBOCOPY o XCOPY, por ejemplo) permiten reescribir con la versión más reciente, lo que podría hacer innecesario formatear la unidad USB. Si quieres formatearla en todo caso puedes hacerlo con el comando FORMAT. Habría que ver si hay que elegir algún parámetro en concreto para el formateo.

Y luego, como digo más arriba, habría que incluir los comandos para hacer la copia de seguridad, uno o varios según lo que quieras copiar esté en una misma carpeta o esté desperdigado por varias carpetas en tu PC.

Si concretas un poco podemos "diseñar" un bat más ajustado a tu caso.

Si, tengo un comando que crea el respaldo, lo que necesito es que primero formatee unidad usb y luego creo el respaldo esa es la instrucción

Vale. Imagino que el problema de usar el comando FORMAT F: (para formatear la USB a la que se ha asignado la unidad F:) es que te pide cosas (como que confirmes la unidad y por tanto no es "autosuficiente" o que no sabes previamente de que unidad se trata. Lo primero se puede arreglar creando un archivillo de texto con un ENTER. Lo segundo habría que ver como tratarlo.

Pero probablemente es más razonable usar el DISKPART en lugar del FORMAT. Para ello hay que saber con que versión de Windows trabajas porque los comandos del DISKPART varían un poco según la versión. Para Windows 10 esto podría funcionar:

@echo off
>dskprttmp.txt echo list volume
for /f "skip=8 tokens=2,3,5,6,*" %%a in ('diskpart /s dskprttmp.txt') do (
echo %%c %%d ^^| find "Extra¡ble">nul && call :formatear %%b
)
goto :fin
:formatear
echo se va a formatear el volumen %1
 >dskprttmp.txt echo select volume %1
>>dskprttmp.txt echo format fs=fat32 quick
diskpart /s dskprttmp.txt
:Fin

Perdón, creo que falta una instrucción de retorno en la subrutina de formateo. Quedaría así:

@echo off
>dskprttmp.txt echo list volume
for /f "skip=8 tokens=2,3,5,6,*" %%a in ('diskpart /s dskprttmp.txt') do (
echo %%c %%d ^^| find "Extra¡ble">nul && call :formatear %%b
)
goto :fin
:formatear
echo se va a formatear el volumen %1
 >dskprttmp.txt echo select volume %1
>>dskprttmp.txt echo format fs=fat32 quick
diskpart /s dskprttmp.txt
goto :EOF
:Fin

Me olvidé de comentar que debe ejecutarse desde una ventana CMD abierta como administrador (para que el DISKPART no dé problemas de ejecución). Si se lanza desde el Explorador de Windows (siempre ejecutándolo como administrador) hay que incluir en el bat un comando de "posicionamiento" en alguna carpeta (algo como CD C\Prueba) para que no dé problemas de "Acceso denegado" al generar el archivo temporal auxiliar DSKPRTTMP.TXT

¿Qué pasó con esto? ¿Ha dejado de interesarte?

Sorry, nunca me funciono :(  

Pero algún mensaje saldría. No sé si sigues interesado. Si es así podemos seguir intentándolo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas