Bat para copiar carpeta con archivos desde USB a pc

Soy un inexperto en ms-DOS y quisiera pedir su ayuda ... Necesito un bat para que copie una carpeta con archivos desde mi USB a una ruta específica de CUALQUIER PC, osea que una vez conecte mi memoria y clickee el bat, se copie la carpeta que yo quiero en el directorio del pc que yo quiero...

Bueno gracias por su pronta respuesta y si no es mucho pedir, ¿me podría recomendar algún sitio/libro/tutorial en el cual pueda aprender ms-dos y comandos?

1 Respuesta

Respuesta
2

¿El bat en cuestión dónde va a estar? ¿En el pendrive o dispositivo USB?

La ruta específica en el PC, ¿existirá siempre previamente o puede ser necesario crear la carpeta de destino?

Cuando dices "del pc que yo quiero" ¿te refieres a un PC distinto del que soporta el USB donde has conectado el pendrive y que está en la red de área local? ¿Cómo se identifica el PC de destino?

En cuanto lleguemos a un acuerdo sobre estos puntos creo que será sencillo confeccionar el BAT que deseas.

En cuanto a alguna página que pueda servirte de tutorial, yo creo que hay bastantes, pero puedes empezar con ésta:

http://multingles.net/docs/jmt/comandos/comandos.html

Perdón por no haber especificado tanto :)

-El bat estará en mi unidad de almacenamiento extraíble USB de 8GB.

-La ruta en el PC: Carpeta raíz -> Windows -> Archivos de programa <- (existirá siempre previamente porque solo lo usaré en XP y 7), y no es necesario crear carpeta de destino ya que lo que quiero copiar es una Carpeta completa con archivos dentro, llamada ''HighGraphics''.

-No es un PC distinto, es el PC al que está conectado la USB, nada mas :)

-El pc de destino no es otro más que el que tiene la USB conectada.

Agradezco tu ayuda y te admiro ya que esto de MS-DOS es dificil, y tu eres todo un experto en esto :), ah, y gracias por la página, está muy completa y me servirá para aprender un poco más sobre los comandos ;)

Saludos!

No tienes que disculparte. Es bastante normal que los aspectos concretos de un trabajo no se manifiesten hasta que uno no se pone con él.

Creo que el comando básico que necesitas es el XCOPY.

Sería algo así:

==========================

@echo off

xcopy /e /i HighGraphics "c:\Archivos de programa\HighGraphics"

==========================

Pero me parece que puede haber algún problemilla con Windows 7 porque el nombre interno de la carpeta "Archivos de programa" (el que se ve desde la ventana de CMD" me parece que es algo como "Program Files (x86)". Ahora no puedo comprobarlo porque en el trabajo solo tengo XP. Esta tarde lo comprobaré en casa.

Si fuera así habría que incluir en el BAT una comprobación de la versión para cambiar el comando según fuera XP o Win7. Sería algo como:

==========================

@echo off
FOR /f "tokens=3" %%a IN ('ver') DO (SET vv=%%a)
if %vv% NEQ XP GOTO :Otra
:XP
xcopy /e /i \Antivirus "C:\Archivos de programa\Antivirus"
goto :eof
:Otra
xcopy /e /i \Antivirus "C:\Program files (x86)\Antivirus"
goto :eof

==========================

Copia con Notepad (Bloc de notas) las líneas situadas entre las líneas de === en un archivo y sálvalo con el nombre que quieres y extensión BAT en el pendrive. Por ejemplo CopyHigh.bat.

Luego abres una ventana de comando (Inicio/Ejecutar/cmd), entras al pendrive y tecleas el nombre del archivo sin extensión. Y debería funcionar.

Cuéntame como te va. Y no me sueltes tantas flores ;-)

Perdón. Cometí el terrible fallo de no cambiar los nombres de las carpetas con las que he estado probando para ajustarme a la tuya. Por cierto que ya he comprobado lo que sospechaba de Windows 7. Además es posible que te dé algún mensaje de "Acceso denegado" si la ventana de cmd no tiene permisos de administrador. Si fuera así debes ir a Inicio/Programas/Accesorios y, con el ratón sobre "Símbolo de sistema" con el botón derecho elegir "Ejecutar como administrador".

El código personalizado sería (prescindo de las líneas de separación):

@echo off
FOR /f "tokens=3" %%a IN ('ver') DO (SET vv=%%a)
if %vv% NEQ XP GOTO :Otra
:XP
xcopy /e /i \HighGraphics "C:\Archivos de programa\HighGraphics"
goto :eof
:Otra
xcopy /e /i \HighGraphics "C:\Program Files (x86)\HighGraphics"
goto :eof

Bueno. Creo que así ya debe funcionar bien.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas