Ir al contenido

publicidad
publicidad

Foto

Pequeña duda: %appdata%[SOLUCIONADO]


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
23 respuestas en este tema

  • gotenx

  • Bahamut

  • vida restante: 100%
  • Registrado: 13 ene 2008
  • Mensajes: 4.253
#16

Escrito 29 enero 2011 - 22:44

A ver si te va este .bat:
[code:1]
@echo off
XCOPY %appdata%\.minecraft C:\Backup /E /I
exit
[/code]

  • Btc

  • Adramalech

  • vida restante: 100%
  • Registrado: 15 oct 2007
  • Mensajes: 1.932
#17

Escrito 31 enero 2011 - 01:17

SI sigues teniendo problema, sería más facil hacerte una función propia en la que con un par de blucles, te vayas recorriendo el directorio a copiar, y lo copies todo archivo a archivo al nuevo directorio. Es decir, eliges la carpeta a copiar, el nombre de la copia, y hagas:

1* Creo carpeta nueva.
2* Array de archivos y array de subcarpetas.
3* Funcion de copia de archivos (tuya propia) donde copies los archivos de la carpeta pasada como origen a la carpeta pasada como destino.
4* Bucle para hacer lo siguiente con cada carpeta:
4.1* Reconocimiento de archivos y carpetas.
4.2* Funcion de copia de archivos de nuevo.
4*3* Bucle de carpetas de nuevo.

Y asi sucesivamente. Pero vamos, esto seria ya algo un poco extremo, yo te diria que te busques algun ejemplo de lo que quieres en google, que tiene que haber alguno hecho fijo.

Un saludo, Btc

  • Ellolo17

  • Zodiark

  • vida restante: 100%
  • Registrado: 16 nov 2006
  • Mensajes: 6.208
#18

Escrito 31 enero 2011 - 10:45

@BTC:
Asi lo haces iterativo, mejor hazlo recursivo a partir de la carpeta indicada.

La funcion seria algo asi:
function copiarecursiva(pathorigen, pathdestino){
crearcarpeta(pathdestino);
while(existan archivos en la carpeta)//se pueden ver si hay archivos contandolos antes
{if(es carpeta) copiarrecursiva(pathorigen+nombrecarpeta, pathdestino+nombrecarpeta);
else copiaarchivo(patharchivo, pathdestino+carpeta);
}
}

Luego claro, tienes que hacerte las funciones copiaarchivo y crearcarpeta, aparte de algun metodo para ver si es carpeta o no (pista: Mira si tiene extension ;) )

Un saludo.

  • Btc

  • Adramalech

  • vida restante: 100%
  • Registrado: 15 oct 2007
  • Mensajes: 1.932
#19

Escrito 31 enero 2011 - 11:19

Ya Ellolo17, pero como yo no se hasta donde domina el compañero, pues propongo, y si el sabe recursividad pues ya puede optimizar el tema.

Respecto al tema de la función, ya se porqué falla:

[code:1] Environment.SpecialFolder.ApplicationData[/code]

NO devuelve un string. Devuelve un INT. Entonces, estas intentando acceder a una dirección tal que:

9\.minecraft


Y como no se como solucionar eso, y si habrá otro namespace para obtener esa dirección, ¿por qué no pones un dialog? Un FolderBrowseDialog. El código quedaría asi:

http://pastebin.com/0cRyvXcs

Eso si, cuando te salga el dialog, en tiempo de ejecución quiero decir, solo tienes que darle a aceptar, no selecciones nada.

Una advertencia, y es que al probarlo yo, me he topado con que la carpeta "Prueba" no tengo permisos para tocarla, vamos, para crearla. Asi que asegurate de tener permisos en archivos de programa, porque si no te van a mandar a freir espárragos X-D

Un saludo, Btc

Edito: que casi se me olvida. No habria que hacerse las funciones de copiar archivos y crear carpetas Ellolo17, eso ya lo trae VB gracias a dios X-D

  • gotenx

  • Bahamut

  • vida restante: 100%
  • Registrado: 13 ene 2008
  • Mensajes: 4.253
#20

Escrito 31 enero 2011 - 17:53

A ver si te va este .bat:
[code:1]
@echo off
XCOPY %appdata%\.minecraft C:\Backup /E /I
exit
[/code]

Mi script funciona perfectamente,eso si,tarda un poco,no os liéis mas X-D
Por cierto,la carpeta tiene que ya existir.

#21

Escrito 31 enero 2011 - 20:06

Perdonad por no responder, bueno el bat lo probe y no iba, quizas habia que esperar mucho.
Ellolo17, el codigo que has puesto, es JAVA?

Salu2!

  • gotenx

  • Bahamut

  • vida restante: 100%
  • Registrado: 13 ene 2008
  • Mensajes: 4.253
#22

Escrito 31 enero 2011 - 20:57

bueno,no se, a mi me iba perfectamente,ya en CMD te dice que esta copiando,si no ponia nada no estaba copiando.
La solucion a todos tus problemas y mas es pasarte a Linux, ahi te olvidas de appdata y cojones X-D

  • Btc

  • Adramalech

  • vida restante: 100%
  • Registrado: 15 oct 2007
  • Mensajes: 1.932
#23

Escrito 31 enero 2011 - 22:55

Emmm, ¿alguien me escucha? X-D Que yo te he dado la solución hombre, ¡¡que mi código funciona!!

#24

Escrito 01 febrero 2011 - 08:35

Emmm, ¿alguien me escucha? X-D Que yo te he dado la solución hombre, ¡¡que mi código funciona!!


UY X-D ,, lo he probado y funciona.(aunque hay que buscar la carpeta con eso) pero he aprendido bastantes cosas en este post. Gracias a todos los que habeis respondido!


Este tema ha sido archivado. Esto significa que no puedes responder en este tema.
publicidad
publicidad