Ms-Dos - Buscar fichero y copiar toda la carpeta contenedora

 
Vista:

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 07/07/2013 09:50:11
Buenas, el problema es el siguiente: Llevo tiempo haciendo un lanzador para un videojuego llamado world of warcraft y quería añadirle una opción pero no se me ocurre como conseguirlo, se trata de buscar el juego y copiarlo entero al directorio "X".

Se me había ocurrido buscar un fichero concreto y después usar la dirección de salida para copiar el directorio entero.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 07/07/2013 12:55:25
Hola

Tienes que comprobar primero si el directorio del juego existe y si existe copiar todo con
el comando xcopy y los modificadores E/ /I que son para copiar todo hasta los directorios que
contenga vacios y la /i para que no pregunte si el destino es directorio o archivo.

1
2
3
@echo off
if exist "AQUI\RUTA\AL\DIRECTORIO" (xcopy "AQUI\RUTA\AL\DIRECTORIO" "AQUI\DIRECTORIO\SALIDA" /E /I) else (echo no existe)
pause



salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 07/07/2013 13:04:30
Si, eso ya esta hecho hay una parte del código que te deja poner de forma manual el directorio y como ya hay una variable con la dirección, que es la que ha introducido el usuario cuando se lo pedía el bat, ya se pueden hacer cosas como comprobar si realmente está el juego o copiarlo con el Xcopy y /s /v /i para que no haya problemas.

Pero la cuestión en este caso es que el usuario no tenga nada que ver, buscando el bat por su propio medio con un /dir wow.exe por ejemplo y poder trabajar con la dirección que da como resultado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 07/07/2013 13:12:27
Hola
tu pregunta era esta al principio y copio y pego textualmente:

se trata de buscar el juego y copiarlo entero al directorio "X".


y es a lo que yo te he respondido............

Ahora bien si no pones mas datos o código para que te podamos ayudar tanto la gente que lee el foro como yo pues no sabemos lo que pasa por tu cabeza programando .......

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 07/07/2013 13:15:32
Cierto es... El comentario que he añadido era para aclarar esta pequeña duda, ya que no he dado datos suficientes al principio.

A.H.H, tienes alguna idea de si esto que pido es posible? Porque he estado navegando muchisimo y no he encontrado nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 08/07/2013 00:54:22
Hola
prueba esto:

Lo que hace este ejemplo es recorrer en el disco local "%systemdrive%\", por carpetas y subcarpetas
el archivo wow.exe, y si existe cuando lo encuentra, mete la ruta al archivo en la variable %ruta%.

Luego la línea del set, lo que hace es quitar de la frase de la ruta el nombre del archivo y la barra, pues solo nos interesa la ruta de la carpeta donde esta el archivo para copiar todo a otro directorio.

osea si tenemos por ejemplo C:\noseque\nosecuanto\wow.exe
nos quedaríamos solamente con C:\noseque\nosecuanto


si estuviera el archivo en C:\wow.exe, deberías cambiar esa frase del set y quitar la barra para que no de error de ruta, quedaría asi set ruta=%ruta:wow.exe=%

pero como no creo que se encuentre en C:\ solamente déjalo como esta.

código de ejemplo:


1
2
3
4
5
6
7
@echo off
 
FOR /R "%systemdrive%\" %%A in (wow.exe) DO echo BUSCANDO...&if exist %%A set ruta=%%A
 
set ruta=%ruta:\wow.exe=%
xcopy %ruta% "nuevo" /e /i
PAUSE


NOTA: si esta muy escondido el archivo tarda un poco, he puesto la búsqueda para que empieze desde el disco local,
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolai (10 intervenciones) el 08/07/2013 12:08:00
Funciona perfectamente muchas gracias, quería hacerte una última pregunta. ¿Este código que me has pasado dices que recorre el disco local pero seguiría buscando en otros discos duros?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 10/07/2013 14:21:26
Hola perdona por la tardanza, pero el codigo que te pongo a continuación me daba algún error que otro y estuve solucionándolo cuando he tenido tiempo....

Primero te dire que si se puede ir cambiando el disco de búsqueda, hasta busca en los pendrives conectados.

El código lo podía haber simplificado algo mas con otros comandos como fsutil fsinfo drives o el propio diskpart para descubrir los discos locales de un pc, lo que pasa que esos comandos en Windows 7, tendrías que ejecutar el archivo.bat como administrador.

Pero bueno en su caso he hecho un apaño y en una cadena que hay los discos posiblescomo es
set directorios=CDEFGHIJKLMNOPQRSTUVWXYZ
cada vez que termina de buscar en uno, mediante un contador voy recorriendo las letras de los demás, una letra cada vez, hasta los 23 posibles discos contando desde 0.

Hay que poner unos cuantos if para los posibles errores como pueden ser que el disco sea cdrom y no tenga insertado nada,o que si exista el disco local pero este formateado en otro sistema etc....

En el titulo de la ventana del bat pondrá donde esta buscando en ese momento y cuando lo encuentre también lo pondrá.

Mientras tanto veras pasando un monton de rutas a toda velocidad por la ventana del bat.

Cuando lo encuentre hace lo mismo que el otro código copia todo.

Adaptalo luego a tus necesidades.....Espero funcione bien y te sirva

código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@echo off
SETLOCAL EnableDelayedExpansion
SET /A CARACTER=1
SET /A contador=0
set directorios=CDEFGHIJKLMNOPQRSTUVWXYZ
 
:INICIO
 
CLS
IF %contador% GTR 23 CLS&ECHO SE HA TERMINADO LA BUSQUEDA EN TODOS LOS DISCOS LOCALES.&PAUSE&EXIT
SET directorio=!directorios:~%contador%,%CARACTER%!
IF NOT EXIST "%directorio%:\" set /A contador+=1&GOTO :INICIO
IF ERRORLEVEL 1 set /A contador+=1&GOTO :INICIO
 
FOR /R "%directorio%:\" %%A in (wow.exe) DO (title BUSCANDO EN DISCO %directorio%:\...EL ARCHIVO...wow.exe&echo %%A&if exist %%A set ruta=%%A&CALL :ENCONTRADO)
IF NOT DEFINED ruta set /A contador+=1&GOTO :INICIO
 
:ENCONTRADO
TITLE ENCONTRADO ARCHIVO wow.exe EN %ruta%
set ruta=%ruta:\wow.exe=%
if "%ruta:~2,1%" NEQ "\" SET ruta=%ruta%\
cls
xcopy "%ruta%" "NUEVODIR" /s /I
echo se ha terminado de copiar archivos.
PAUSE
exit


Nota : lo de SETLOCAL EnableDelayedExpansion es para poder meter varias variables en una línea que por si ya es una variable, es para poner el símbolo ! que hace de escape de este otro %

Lo malo es que si tienes mucha información en los discos pues tardara un buen ratito....
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 10/07/2013 16:34:40
No te preocupes por la tardanza, bastante haces con ayudarme!

Este nuevo código que me has pasado me lo he estado mirando y creo saber integrarlo ya dentro del mio, además ahora gracias a ti podré hacer contadores con bat, nunca había pensado que pudieran funcionar con este lenguaje.

Hasta la fecha la parte del programa encargada de encontrar el juego lo buscaba en el sistem drive, y al no encontrarlo pedía de introducir los datos manualmente dando por supuesto que estaría en otro disco duro.

Hoy no se si podré integrarlo pero tan pronto lo haya añadido te lo haré saber.

Una vez mas muchas gracias, si tienes curiosidad por ver como queda todo el trabajo de esta parte ya te la enviaré por aquí, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 11/07/2013 12:05:18
El código funciona muy bien, pero llega cierto punto en el que empieza a saltar este error subiendo hasta DR7 cuando se le da a continuar, después de esto salta al siguiente disco duro y lo acaba encontrando.

"No hay disco en la unidad. Inserte un disco en la unidad \Device\Harddisk3\DR4"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 11/07/2013 13:44:56
He estado intentando solucionar el error que te he mencionado y que seguramente sea el que decías que te había retrasado.

El código cuando he mencionado antes que funcionaba bien excepto por los errores lo he probado al desnudo que no te lo he comentado, no lo he integrado con el mio ni nada ha sido copiar, pegar y ejecutar.

Lo primero que he intentado para solucionarlo ha sido colocar el if exist delante con el disco duro.

1
2
3
4
5
if exist "C:\" FOR /R "C:\" %%A in (wow.exe) DO (title Buscando Worlf of Warcraft en el disco C:\&echo %%A&if exist %%A set ruta=%%A&CALL :ENCONTRADO)
if exist "D:\" FOR /R "D:\" %%A in (wow.exe) DO (title Buscando Worlf of Warcraft en el disco D:\&echo %%A&if exist %%A set ruta=%%A&CALL :ENCONTRADO)
if exist "E:\" FOR /R "E:\" %%A in (wow.exe) DO (title Buscando Worlf of Warcraft en el disco E:\&echo %%A&if exist %%A set ruta=%%A&CALL :ENCONTRADO)
 
etc


Era una prueba rápida para ver si funcionaba pero claramente no, además ya habías añadido un +1 al contador si ese disco no existía para saltárselo.

Por lo que he seguido indagando y se me ha ocurrido la posibilidad de determinar únicamente las letras de los discos duros conectados en vez de "set directorios=CDEFGHIJKLMNOPQRSTUVWXYZ" y he encontrado este código que es muy interesante:

1
2
3
4
5
6
7
8
9
setlocal enabledelayedexpansion
set "_DRIVE.LETTERS.FREE=Z Y X W V U T S R Q P O N M L K J I H G F E D C B A "
for /f "skip=1 tokens=1,2 delims=: " %%a in ('wmic logicaldisk get deviceid^,volumename') do (
   set "_DRIVE.LETTERS.USED=!_DRIVE.LETTERS.USED!%%a,%%b@"
   set "_DRIVE.LETTERS.FREE=!_DRIVE.LETTERS.FREE:%%a =!"
)
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:~0,-2%
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:,=, @%
set _DRIVE.LETTERS


Pero he sido incapaz de introducir sus variables de salida en el código que me has pasado ya que no acabo de entender partes como "~0,-2%", de todas maneras esto supone el problema de que se tendría que cambiar "IF %contador% GTR 23" ya que ese 23 seria variable dependiendo del número de unidades.


Esto es una de las posibilidades, si no la otra sería una forma de evitar que salga la ventana de error ya que "IF ERRORLEVEL 1 set /A contador+=1&GOTO :INICIO" cumple su función, despues de continuar con el error lo intenta con el siguiente.

No me importaría si el proceso de búsqueda fuese más rápido ya que se le puede pedir al usuario que cierre ventanas de errores pero a parte de no quedar limpio y quedar mal, puede darse casos como el mio que tenemos mas de 5TB y estar pendiente de que salga el error para que pueda continuar supone estar mucho rato esperando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 11/07/2013 21:26:27
Hola
Se me ocurrio esto para detectar los discos locales conectados, usando partes de código anteriores:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
SETLOCAL EnableDelayedExpansion
SET /A CARACTER=1
SET /A contador=0
set directorios=ABCDEFGHIJKLMNOPQRSTUVWXYZ
ECHO ***** DISCOS VALIDOS PARA LA BUSQUEDA *****
:COMPROBARDISCOS
 
IF %contador% GTR 25 PAUSE&EXIT
SET directorio=!directorios:~%contador%,%CARACTER%!
cd /d "%directorio%:\" >nul 2>&1
IF ERRORLEVEL 1 (set /A contador+=1
GOTO:COMPROBARDISCOS
) ELSE (
ECHO %directorio%:\
set /A contador+=1
GOTO :COMPROBARDISCOS)



BUENO esto es solo para saber los discos conectados en el momento que ejecutas el bat.
usando cd /d "%directorio%:\" >nul 2>&1
vamos metiéndonos dentro de cada disco, y si da error al meternos, No lo saca en pantalla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 19/07/2013 23:21:59
Hola prueba esto haber si te da el error que decias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@echo off
SETLOCAL EnableDelayedExpansion
SET /A CARACTER=1
SET /A contador=0
set directorios=ABCDEFGHIJKLMNOPQRSTUVWXYZ
ECHO ***** DISCOS VALIDOS PARA LA BUSQUEDA *****
 
:COMPROBARDISCOS
 
IF %contador% GTR 25 cls&echo NO SE HA ENCONTRADO EL ARCHIVO...WOW.EXE&PAUSE&EXIT
SET directorio=!directorios:~%contador%,%CARACTER%!
cd /d "%directorio%:\" >nul 2>&1
IF ERRORLEVEL 1 (set /A contador+=1
GOTO:COMPROBARDISCOS
) ELSE (
cls
echo Se va a comenzar la busqueda en %directorio%:\
pause
FOR /R "%directorio%:\" %%A in (wow.exe) DO (title BUSCANDO EN DISCO %directorio%:\...EL ARCHIVO...wow.exe&echo %%A&if exist %%A set ruta=%%A&CALL :ENCONTRADO)
set /A contador+=1
GOTO :COMPROBARDISCOS)
 
:ENCONTRADO
TITLE ENCONTRADO ARCHIVO wow.exe EN %ruta%
set ruta=%ruta:\wow.exe=%
if "%ruta:~2,1%" NEQ "\" SET ruta=%ruta%\
cls
xcopy "%ruta%" "NUEVODIR" /s /I
echo se ha terminado de copiar archivos.
PAUSE
exit



salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 20/07/2013 00:58:12
Hola, acabo de probar el nuevo código pero siempre sale el mismo error, https://www.dropbox.com/s/0bdqu3m8b3vqbhq/Sin%20t%C3%ADtulo.png .

"IF ERRORLEVEL 1" detecta el error y hace lo que tiene que hacer que es saltar al siguiente disco, realmente funciona todo perfecto, pero cada vez que intenta saltar a un disco duro que no existe aparece ese error.

Por ahora mi código completo es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/*Antes de esto comprueba si el juego está instalado mediante el lanzador, en el caso de que 
no lo este salta este mensaje. */
 
 
echo ----------------------------------------------------------%date% %time%
echo.
echo No hay ningun juego enlazado a este lanzador.
echo (escribe el numero de delante de la opcion y pulsa intro)
echo.
echo.
echo 1_Ya tengo World of Warcraft instalado, enlacemoslo.
echo.
echo 2_No tengo World of Warcraft instalado, instalamelo.
echo.
set/p opcionenlace=:
cls
if %opcionenlace%==1 goto enlazar
if %opcionenlace%==2 goto instalar //Abre un bat dedicado a descargar e instalar el juego.
exit
 
:menlazar
cls
echo.
echo La direccion escrita es erronea o no contiene ninguna instalacion,
echo vuelve a intentarlo porfavor.
echo.
echo.
goto enlazar2
:enlazarp
cls
echo No se ha encontrado World of Warcraft en %letra%:\
echo Pulsa cualquier tecla para volver a intentarlo.
pause>nul
echo.
echo.
 
/*Se comprueba si el juego ya está ubicado dentro del lanzador, entonces añade un archivo para
 que se sepa que el juego está instalado y funcionando con el lanzador y que no vuelva a pedir 
todo este proceso. */
 
:enlazar
if exist "C:\Program Files\Drewn\World of Warcraft (3.3.5a)\Wow.exe" (
goto finexiste
)
echo Se va a iniciar la busqueda automatica de World of Warcraft, escribe
echo la letra del disco duro o pendrive donde quieres que se empiece la
echo busqueda o escribe "manual" para escribir tu la direccion manualmente.
echo.
echo Ejemplo:C
echo Ejemplo:manual
set/p letra=:
if %letra%==manual cls &goto enlazar2
 
/*Esta es la parte del código que me facilitaste al principio de todo, como no conseguí omitir el
 error pide la letra en la que buscar, en el caso de que no lo encuentre allí avisa de que esa letra
 no tiene el juego y la vuelve a pedir. */
 
FOR /R "%letra%:\" %%A in (wow.exe) DO (title Buscando World of Warcraft en el disco %letra%:\&echo %%A&if exist %%A set rutaz=%%A&CALL :ENCONTRADO)
IF NOT DEFINED rutaz goto enlazarp
:ENCONTRADO
set rutaz=%rutaz:\wow.exe=%
if "%rutaz:~2,1%" NEQ "\" SET rutaz=%rutaz%\
TITLE Encontrado Worlf of Warcraft en %rutaz%
%letra%:
cd %rutaz%
if not exist Wow.exe goto enlazarp
if not exist Scan.dll goto enlazarp
if not exist Repair.exe goto enlazarp
if not exist WowError.exe goto enlazarp
if not exist unicows.dll goto enlazarp
goto iexiste
 
/*En esta parte pide la dirección completa al usuario, en el caso de que sea incorrecta también 
le avisa y le vuelve a pedir los datos. */
 
:enlazar2
echo Escribe la letra del disco duro donde esta instalado.
echo Ejemplo:C
set/p letra=:
echo.
echo Escribe la direccion o directorio donde tienes el wow instalado.
echo Ejemplo:C:\Program Files\Blizard\World of Warcraft
set/p rutaz=:
%letra%:
cd "%rutaz%"
if exist Wow.exe (
goto iexiste
) else (
goto menlazar
)
 
//Si ha encontrado el juego empieza a copiarlo en el directorio donde trabaja el lanzador con el.
 
:iexiste
cd "%rutaz%"
TITLE Enlazando World of Warcraft
 
//Se limpian los directorios por si ha habido un juego antes.
 
DEL /F /S /Q "C:\Program Files\Drewn\World of Warcraft (3.3.5a)"
RD /S /Q "C:\Program Files\Drewn\World of Warcraft (3.3.5a)\Cache"
RD /S /Q "C:\Program Files\Drewn\World of Warcraft (3.3.5a)\Data"
RD /S /Q "C:\Program Files\Drewn\World of Warcraft (3.3.5a)\Interface"
RD /S /Q "C:\Program Files\Drewn\World of Warcraft (3.3.5a)\Logs"
RD /S /Q "C:\Program Files\Drewn\World of Warcraft (3.3.5a)\WTF"
DEL /F /S /Q "C:\Program Files\Drewn\Lanzador\medio"
 
 
/*"medio" es una opción con la cual el lanzador marca el juego a media instalación, 
se han descargado y colocado archivos suficientes como para abrir el juego aunque ya se
avisa de que puede haber fallos gráficos, falta de texturas etc.*/
 
 
cls
echo ----------------------------------------------------------%date% %time%
echo.
echo Enlazando World of Warcraft
echo.
echo.
XCOPY "Interface" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)/Interface" /s /i /v
echo ----------------------------------------------------------%date% %time%
echo.
echo Enlazando World of Warcraft
echo.
XCOPY "Data" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)/Data" /s /i /v
echo ----------------------------------------------------------%date% %time%
echo.
echo Enlazando World of Warcraft
echo.
XCOPY "Logs" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)/Logs" /s /i /v
echo ----------------------------------------------------------%date% %time%
echo.
echo Enlazando World of Warcraft
echo.
XCOPY "Screenshots" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)/Screenshots" /s /i /v
echo ----------------------------------------------------------%date% %time%
echo.
echo Enlazando World of Warcraft
echo.
XCOPY "WTF" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)/WTF" /s /i /v
echo ----------------------------------------------------------%date% %time%
echo.
echo Enlazando World of Warcraft
echo.
XCOPY "Battle.net.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "dbghelp.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "DivxDecoder.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "ijl15.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "msvcr80.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "Repair.exe" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "Scan.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "unicows.dll" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "WowError.exe" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
XCOPY "Wow.exe" "C:\Program Files\Drewn\World of Warcraft (3.3.5a)" /s /i /v
 
cls
echo ----------------------------------------------------------%date% %time%
echo.
echo Se ha hecho una copia de World of Warcraft dentro de la carpeta del lanzador,
echo para ahorrar espacio seria mejor borrar el wow original una vez estes seguro
echo de que funciona con el launcher.
echo.


Sinceramente, estoy conforme con como me ha quedado, el que pueda saltar de disco en disco sin errores ya se puede considerar un capricho.

Creo que he ocupado ya mucho tiempo tuyo con esta tontería, si te lo has tomado como un reto personal y quieres solucionarlo yo estaré encantadisimo! Realmente me hace ilusión poder tenerlo lo mas limpio y simple posible para el usuario, pero si quieres cerrar el tema también lo veo válido.

Y disculpa el caos de mi código, mi profesor me prohibió usar goto pero ya llevaba mas de un año usándolos y es complicado cambiar la forma de hacer las cosas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Buscar fichero y copiar toda la carpeta contenedora

Publicado por A.H.H (216 intervenciones) el 20/07/2013 13:23:58
Hola

que raro! a mi no me salta ningún error! que tipo de disco es el que te da error?

con esta línea antes de comenzar a buscar evitamos justamente que no saque por pantalla el error.

cd /d "%directorio%:\" >nul 2>&1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscar fichero y copiar toda la carpeta contenedora

Publicado por Andrés Nicolau (10 intervenciones) el 20/07/2013 14:02:35
Es que precisamente me da el error con los discos duros que no existen! Por ejemplo, hace el C, bien ese existe esta conectado y no hay problemas, el D, el E... y llega al H que no tengo ninguna unidad conectada y salta este error y se va repitiendo hasta que llega a la M que si tengo un disco duro.

El error que ves en la imagen es precisamente al acabar de buscar en un disco duro y saltar a una unidad no conectada para empezar a buscar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar