Copiar directorio sin lugar fijo

Bueno yo se sobre este tema y e "programado" varias cosas cone esto, pero tengo una gran duda sobre una cosilla que estoy preparando, me explico:
Supongamos que el bat se llama YO.BAT, este se descarga de una página cualquiera, ¿al descsargarlo lo abres y entonces este YO.BAT seria un especie de "insatalador" cosa que al abrirlo me eem <copie?> Un archivo que esta en la misma carpeta que el YO.BAT pero eso no seria nada si fuera solo dentro de mi pc, pero como cualquier otra persona lo descargue en cualquier otro pc no quedaría con la misma "url" directorio, etc entonces no podría hacer esto:
<xcopy "C:\Documents and Settings\Administrador\Escritorio"(origen) "C:\cualqier direccion" entionces no seria una direxion fija,no se si me entiendes :S?la cosa es qe al abrir YO.BAT se "instala" o Copia un archivo (yamemosle TU.BAT) tocnes TU.BAT se copiaria desde una carpeta qe esta adentro de la carpeta donde esta YO.BAT (si se qe es enredado de explicar) y el TU.BAT se copiaria en la carpeta dodne esta YO.BAT #o sea es como si la copiara a la carpeta anterior,algo asi#
Bueno ojala me puedas ayudar.

1 respuesta

Respuesta
1
Creo que no consigo entender lo que me dices.
El YO.BAT se "descarga" desde una página cualquiera: ¿Quieres decir que lo descargas por Internet? Si es así, ¿En qué carpeta le dices al programa de descarga que lo deje?
Al abrir (supongo que con eso quieres decir ejecutar) el YO.BAT se hace una copia (mediante el comando XCOPY) de otro archivo (¿el TU.BAT?) En una carpeta que no es siempre la misma (¿y qué se sabe de esa otra carpeta?).
Voy a probar de otra forma:
Tenemos dos PC's, en uno de ellos, en la carpeta C:\carpeta1 están el YO.BAT y el TU.BAT. Desde el otro PC se descarga el YO.BAT, por ejemplo por FTP (o algún otro programa de descarga) en la carpeta C:\carpeta2. Ahora ejecutamos el YO.BAT desde la carpeta2 del segundo PC y quieres que la ejecución del YO.BAT provoque la descarga (o copia) del TU.BAT (que está en la carpeta1 del primer PC) en la misma carpeta2 en la que se copió el YO.BAT.
Si fuera algo así habría que tener en cuenta que para que se pueda hacer mediante un COPY (o XCOPY) hay que forzar que la unidad C: del segundo PC pueda verse como una unidad del primer PC. Para eso los dos PC's tienen que estar en la misma red y entonces se podría utilizar el comando NET USE.
Pero como no sé si es eso lo que pretendes voy a esperar a ver si voy por buen camino.
Dime como lo ves.
Saludos,
GGG
Hola
aber.. entendiste algo, ¿lo qué yo aria seria subir un archivo winrar a un servidor de descarga como es softonic, megaupload, etc ya?. ENtonces otra persona descarga esearchivo y automáticamente se iría a la carpeta de Descargas o donde esa persona lo tenga configurado (ai seria que no puedo poner en el código del YO.BAT una dirección fija porque no se donde quedaría descargado ), ya luego de descomprimir y todo abriría el YO.BAT y se supone que este copiaría una carpeta que esta dentro de esta.. es como decir YO.BAT esta en carpeta1 y TU.BAT esta en carpeta2, pero carpeta2 esta dentro de carpeta1, ¿entiendes? Entonces que aria YO. ¿BAT? Seria algo así como copiar TU.BAT desde carpeta2 a carpeta1 para algo así como dar la ilusión que se creo de la nada.. no se si me entendiste ahora.. entonces en el código de YO.BAT no podría poner una dirección porque no sabría en que carpeta estarían ambos (el YO.BAT y el TU.BAT)
Espera entiendas y me puedas ayudar. Gracias y Saludos
A ver si conseguimos ir acotando el asunto.
Si tú haces un copy desde un BAT sin poner la carpeta de destino te lo copiará en la carpeta en la que esté el BAT. Para mí es más problema la carpeta de origen. ¿Dónde estarían el YO.BAT y el TU.BAT en el RAR descargado desde el servidor de descarga? ¿Cómo piensas que se ejecute el YO.BAT una vez hecha la descarga?
Por otra parte si desde un BAT quieres averiguar en que carpeta está ese BAT puedes conseguirlo (seguro que hay más formas pero esta sería una) con las líneas siguientes:
FOR /F "tokens=3" %%A IN ('dir . ^| find "Directorio"') DO (set carpeta= %%A)
Echo La carpeta es: %carpeta%
No sé si esto te ayuda. Prueba a ver e intenta decirme los problemas que vas encontrando.
Saludos,
GGG
Hola
aber.. una ves que se descargue la persona que lo descargo lo tendrá que abrir manuealmente si sera lo único que abra dentro del winrar, mira seria mejor saber.. si tienes un código, que digamos así, que sea el que muestre la ubicacio b de¡Onde esta.me explico si ponemos %userprofile% me lleva a la carpeta del usuario (digámosle así) por lo tanto una variablke como esa, solo que me indiqe la carpeta donde se encuentra el bat que se esta ejecutando por ejemplo esta en carpeta1 y poner variable $NOSEsiEXISTA% que me indiqe donde esta esta carpeta 1.o por lo menos una variable que indiqe el "Escritorio" por que nome funciono ir poniendo por dirección.
Gracias
¿Has probado el código que te sugería en la respuesta anterior?
Ese código te dejaría en la variable %carpeta% la carpeta donde se encuentra el bat. Si es eso lo que necesitas debería bastar.
No he visto ninguna variable de entorno (algo como lo que sugieres con %userprofile%) que apunte a la carpeta en la que se está trabajando en un momento dado. Pero tal vez también puedas usar las variables %TEMP% o %TMP% que si que apuntan a carpetas temporales en la máquina del usuario.
Saludos,
GGG
¿Qué hay de esto? ¿Has avanzado algo? ¿Has probado lo que te dije?
Si sigues mucho tiempo más sin responder tendré que descartar la pregunta.
Saludos,
GGG
Pues probaré es de %carpeta%, muchas graciasd or la ayuda veré como me va
SalUdos
¿Alguna novedad?
Si ya lo tienes resuelto, con o sin mi ayuda, cierra la pregunta. Si sigues teniendo problemas dime cuales son y veremos que se puede hacer.
Saludos,
GGG

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas