Actualizar el almacenamiento sin eliminar contenido
2 min
Si desea actualizar sus aplicaciones, pero no quiere eliminar los archivos de almacenamiento local, contenido, claves de registro, etc. de su tarjeta microSD, cree una carpeta independiente en la unidad de destino para recibir esos archivos.
Por ejemplo:
- Use un script como el siguiente para crear una carpeta donde pueda descomprimir los archivos actualizados.
- Elimine los archivos que desea reemplazar en sus respectivas carpetas.
- Copie o mueva los archivos actualizados a la carpeta correcta. Puede usar scripts para mover varios archivos a la carpeta de la tarjeta SD, como se muestra en el siguiente ejemplo.
- El archivo zip principal que descarga puede contener otros archivos zip. Por lo tanto, podría descomprimir el archivo principal y luego hacer descompresiones específicas para reemplazar archivos seleccionados.
path$="SD:/" 'USB1, SSD2, SD2
CreateDirectory(path$+"Update") 'unzipping here
package = CreateObject("roBrightPackage", path$+"autorun.zip")
package.Unpack(path$+"Update")Ejemplo
Para copiar todo desde una carpeta “Update” a una carpeta “Myapplication”, haga lo siguiente:
Copyroot("Update", "Myapplication")
Sub copyroot(path$ as string, Target$ as String)
mylist = listdir(path$)
For each item in mylist
if instr(1, item, ".") > 0 then
print "found a file: "; item
print "path: "; path$
CopyFile(path$+"\"+item, Target$+"\"+item)
else
print "found folder: " ;item
CreateDirectory(Target$+"\"+item)
copytree("\"+item)
endif
next
end Sub
Sub Copytree(path$ as string)
print "copy tree: "; path$
'e.g. \pool
mylistb = listdir("\Update"+path$)
print mylistb
For each item in mylistb
print len(item)
if instr(1, item, ".") > 0 then CopyFile("\Update"+path$+"\"+item, Target$+path$)
if len(item) > 1 then
print "copying sha file: "; Target$+path$+"\"+item
showstatus("copying file: "+ Target$+path$+"\"+item)
CopyFile("\Update"+path$+"\"+item, Target$+path$+"\"+item) 'folders only 1 digit long outside root ?
else
print "found sub folder: "; path$+"\"+item
CreateDirectory(Target$+path$+"\"+item)
copytree(path$+"\"+item)
endif
next