Copiar archivo de unidad cambiante a especifica

Hola amigos... Bueno mi inquietud es la siguiente: quisiera tener un .bat que copie uno o varios archivos a una carpeta especifica, estando este archivo(s) en un pendrive o cd el cual por supuesto cambia de letra de unidad según el pc donde se coloque... Ademas si el archivo ya existe que se sobrescriba...

1 Respuesta

Respuesta
1
¿Tu idea es pasarle al BAT, como parámetro, la unidad origen o no pasársela? En el segundo caso habría que recorrer todas las unidades posibles, de la DE a la Z, por ejemplo. Podría ser algo como:
@echo off
for %%a in (D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (copy /Y %%a:\carpetaOrigen CarpetaDestino > nul 2>&1)
(Ojo a la sintaxis, aunque se presente dividido todo el comando "for" tiene que estar en una sola línea)
La redirección ("> nul 2>&1"), tal como está, es para que no diga nada, tanto si va bien como si va mal. Si queremos enterarnos de algo habrá que retocarla en el sentido que nos interese.
Si prefieres pasarle al BAT como parámetro la unidad sería algo como:
@echo off
copy /Y $1:\carpetaOrigen CarpetaDestino > nul 2>&1
Si necesitas alguna aclaración o algo más concreto solo tienes que decirlo.
Saludos,
GGG
mmm lo siento no me funciona aun... tratare de ser más claro...
Tengo 3 archivos uno de ellos ejecutable dentro de una carpeta, quisiera un archivo.bat que al ejecutar copie los archivos contenidos en la carpeta a una ruta especifica en C, saltando el aviso de sobreescribir si alguno de ellos exixtiera previamente. Teniendo en cuenta que este cd se coloca en letra de unidad diferente según el pc donde se cargue.. algo así como esto me funciono pero al colocar el cd en otro pc no me funciono...
copy E:\Crack\SF4Launcher.exe d:\ver\
Espero me puedas ayudar
A ver si te entiendo.
Tienes tres archivos en la carpeta Crack de un CD y los quieres copiar a una carpeta concreta (tal vez C:\VER) de cualquier PC donde ejecutes el BAT. Pero no acabo de entender por qué en tu ejemplo aparece D:\VER\
Sin entrar en si puede haber o no mejores soluciones, creo que esto debería conseguir lo que quieres:
@echo off
for %%a in (D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (copy /Y %%a:\Crack\*.* C:\VER > nul 2>&1)
Si no te funciona dime qué es lo que falla o que mensaje de error sale.
Saludos,
GGG
Hola buenas noches...
Bien grabe un dvd con la instrucción que me diste, al ejecutar el .bat sale una pantalla de dos por un par de segundos... pero no copia el archivo a la ubicación deseada...
Mira lo coloque así según me dijiste
@echo off
for %%a in (D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (copy /Y %%a:\Crack\*.* C:\Program Files\CAPCOM\STREETFIGHTERIV > nul 2>&1)
Este archivo lo hice en el block de notas con la extensión .bat y lo incluí en el dvd claro
Por favor dime que estoy haciendo mal... gracias
Creo que tendrías que poner el destino entre comillas (es necesario cuando en el path hay alguna carpeta cuyo nombre contenga un espacio). Sería así (asumiendo que existe la carpeta C:\Program Files\CAPCOM\STREETFIGHTERIV):
@echo off
for %%a in (D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (copy /Y %%a:\Crack\*.* "C:\Program Files\CAPCOM\STREETFIGHTERIV" > nul 2>&1)
En la fase de depuración yo eliminaría el "@echo off" o lo "comentaría" dejándolo como "rem @echo off". También podría ayudar eliminar, de momento, el desvío "> nul 2>&1" con lo que quedaría solo:
for %%a in (D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (copy /Y %%a:\Crack\*.* "C:\Program Files\CAPCOM\STREETFIGHTERIV")
Pero como ya intuía, una vez que me parece más claro el entorno en el que nos movemos, creo que hay soluciones más sencillas. Si el BAT va a estar en el CD/DVD/USB no habrá que recorrer todas las unidades. Bastaría con lo siguiente
cd \Crack
copy /Y *.* "C:\Program Files\CAPCOM\STREETFIGHTERIV"
También le he quitado el "@echo off" y el desvío "> nul 2>&1". Si funciona correctamente ya podrás añadirlos luego.
A ver si con esto avanzamos algo.
Saludos,
GGG
ggg muchísimas gracias... my problema se ha solucionado perfectamente disculpa no saber preguntarte acertadamente, sin embargo me entendisde muy bien... de nuevo gracias...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas