Newsgroup: it.comp.lang.visual-basic
Titolo: [forse domanda da newby] proprietà sola lettura dei file

Ciao !
Sono nuova di questo ng ..... mastico da un po' vb ma finora avevo fatto
applicazioni relativamente semplici (anche se gestioni legate a db oramai ne
ho fatte anche troppe ;-) ) e ora dovevo fare un programmino che, dati dei
file da cd, me li buttasse su hd in una directory che l'utente sceglie con
bella finestrella simile a quelle solite di windows.
E fin lě tutto ok ....
poi mi sono fatta il mio moduletto in cui cerca piů sottodirectory possibili
e in pratica copia i file su hard disk ....
con un modo probabilmente spartano, ma almeno funziona ....
(ho utilizzato la for each delle subfolder per un po' di livelli al di sotto
della directory di root e poi un object.copyfile da,dove,true (overwrite)
...)
solo dopo che avevo finito il programma perň mi era venuto il dubbio : e se
dovessero rifare la copia file accidentalmente, cosa accade? Ovviamente s'č
bloccato il programma sputandomi fuori tanti messaggi di errore, che,
raffinato il programma si sono portati a essere un monotono 'authorization
denied' o simili ....
ovviamente ciň č dato dal fatto chee i file su hd sono ancora rimasti in
proprietŕ di sola lettura intuisco io .... ma come posso fare a togliere la
proprietŕ di sola lettura a tutti i file che ho appena creato cosicchč una
prossima installazione non dia piů problemi ?
ho visto che esiste la funzione object.attributes = vbNormal ad esempio, ma
devo di nuovo farmi girare tutti i file sotto mano per modificare la
proprietŕ o c'č una qualche funzione che toglie il sola lettura a tutti i
file e tutte lee sottodirectory automaticamente?
Perchč il problema č che non c'č solo un livello o due sotto la root, bensě
5 o 6, o un numero simile .... e potrebbero benissimo diventare di piů in
futuro ....
Spero di aver spiegato tutto benee ...
Bye By
Kyla Skydragon
----------------
icq : 125643086

 file e tutte lee sottodirectory automaticamente?
allora secondo me lasciare l'attrib alla fine della copia e' la cosa
migliore , scusa se non ti rispondo direttamente ma potresti adottare questa
tecnica (imho si intende) :
dopo che l'utente sceglie dove copiare fai cosi :
1)copia i file in una directori temp dello stesso HD che l'utente ha scelto
2) alla fine lanci una funzione dos (solo quella conosco ) che ti setta gli
attributi dei file ( da shell digita Attrib /? )
3) sposta la cartella temporanea nella directori scelta e rinominala
4)cancella la cartella temporanea per sicurezza
Perche' tutto cio' ti chiederai ? ecco le mie considerazioni :
- se si lancia una sovrascrittura accidentale e l'utente non annulla
l'operazione essi verranno sovrascritti
- se dopo la copia accidentale premo annulla , nessun file verra'
sovrasritto
- spostare i file nello stesso HD non comporta una riscrittura dei file , ma
solo del puntatore della prima cartella
- uso l'attrib dos perche' non so farlo in vb ^_^

file e tutte lee sottodirectory automaticamente?
http://www.mvps.org/vbnet/index.html?code/fileapi/recursiveattr.htm
oppure, alla vecchia, eseguire da schell un bell'
attrib -r path /s
 :-)
Ciao,
Moreno
-- 
sirri at morenosoft dot com
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

 - uso l'attrib dos perche' non so farlo in vb ^_^
GetAttr e SetAttr ;-P
Appropo': dom/lun/mar attacco alle 12:30 e stacco anch'io
alle 19 (rimango ancora, di solito, ma esco quando mi pare)
vieni quando vuoi che ci pigliamo quel famigerato caffè :-)
Un Paperino che si riaggancia ad altro 3ad.

 Un Paperino che si riaggancia ad altro 3ad.
non multithreading ma spaghettiposting :)

 vieni quando vuoi che ci pigliamo quel famigerato caffè :-)
ok ok ok , ti vorrei scrivere in privato ma ho perso la mail ( sbadato come
al solito :-/ )
cmq volevo chiederti di preciso dove ti trovo , io a pescara mi ci muovo
solo seguendo il flusso delle auto e grazie a mappy ^_^; senno' mi riesco a
perdere anche dentro la stazione !!!
Possiamo continuare in PVT che qui' mi sento osservato !

 Possiamo continuare in PVT che qui' mi sento osservato !
...sě, forse č meglio :-)))
Bye, G.

 4)cancella la cartella temporanea per sicurezza
La sovrascrittura a me va bene tanto sono sicura che i file li piloto io nel
senso : gli dò io i file che voglio ....
domanda : ho guardato l'help di dos di attrib, ma cos'è che fa esattamente
questa funzione? Cambia gli attributi di un solo file o se si mette attrib
di scirttura per una cartella cambia anche gli attributi delle sottocartelle
e di tutti i file in esse?
Lo chiedo perchè a funzione attrib non ho mai avuto bisogno di usarla ... e
quindi mi trovo un poco spiazzata ...
Bye By
Kyla Skydragon

ERRATA CORRIGE : ho appena visto l'opzione /s ....... ovviamente due secondi
dopo aver scritto il messaggio .... grazie :-)
Bye By
Kyla Skydragon

 quindi mi trovo un poco spiazzata ...
attrib e' un comando del dos
    c:\>attrib +r +h +s autoexec.bat
se lo usi con /s (subdir) diventa ricorsivo.
se copi un cd in una cartella, poi per togliere il sola lettura ti
punti su quella e fai
    c:\cartella>attrib -r *.* /s
che suppongo sia in sostanza quello che fa win2000 quando ti chiede se
cambiare gli attributi anche di file e subdir di una dir.

 cambiare gli attributi anche di file e subdir di una dir.
Grazie mille a tutti per i consigli :-)
Bye By
Kyla Skydragon