Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Estrazione nome di una cartella da un percorso

Salve,
io devo estrarre il nome dell'ultima cartella di un percorso tipo
"c:\windows\desktop", in questo caso desktop. Quale è il metodo più
efficiente? Ho trovato alcune soluzione ma che sicuramente non sono molto
valide.
Ah, è possibile utilizzare l'istruzione FileCopy con il parametro *.* per
copiare tutti i file contenuti in una directory?
Grazie a tutti per la collaborazione!!
-Ciao-
-Luca450Mhz-

 valide.
Speroche sia valida:
Dim Cartella as string
Set fs = CreateObject("Scripting.FileSystemObject")
Cartella = fs.GetFolder("c:\windows\desktop")
Set fs = nothing
oppure lavorando sulla stringa
Cartella = Mid("c:\windows\desktop",InstrRev(c:\windows\desktop","\"))
Per la seconda non so
Ciao
Medusa

 per copiare tutti i file contenuti in una directory?
No. Utilizza la funzione dell'API SHFileOperation()
Ciao
--
Faber

Io ho fatto l'esempio di quella cartella. Ma il percorso potrebbe variare.
Con questo esempio estrae anche l'ultima cartella di un percorso più lungo e
comunque diverso?
Grazie per la risposta cmq!
-Ciao-
-Luca450Mhz-


 Dim Cartella as string


Ho provato il tuo esempio (il primo). Ma questo codice non fa altro che
restituirmi TUTTO il percorso. Ma a questo ci pensa già il mio DirLIstBox. A
me servirebbe solo il nome dell'ultima cartella. Compito che svolge a
perfezione il secondo esempio. Grazie mi hai risolto il problema!!!!
-Ciao-
-Luca450Mhz-


 Grazie per la risposta cmq!
Il primo esempio usa un metodo dell'oggetto Scripting.FileSystemObject e non
so come opera perchè non l'ho mai usato: ho solo visto che esisteva. Quindi
(come sempre) dovresti fare alcune prove e vedere cosa ti restituisce.
Il secondo esempio, cerca nella stringa l'ultimo "\" e prende tutto ciò che
viene dopo quindi
1) Il percorso é del tipo "Drive:\Cartella1\Cartella2\.. ..\CartellaN"
Restituisce CartellaN
2) Il percorso é del tipo "Cartella1" Restituisce Cartella1 (vedi istruzione
InstrRev sull' help)
3) Il percorso é del tipo "Drive:\Cartella1\Cartella2\.. ..\CartellaN\"
Restituisce "" (Nulla)
4) Il percorso é del tipo "Drive:\Cartella1\Cartella2\..
..\CartellaN\file.ext" Restituisce file.ext
Comunque, Provare, Provare, Provare, Provare, Provare, Provare, Provare,
;-))
Errata corrige:
Nel codice probabilmente mi sono scordato un +1
Cartella = Mid("c:\windows\desktop",InstrRev(c:\windows\desktop","\")+1)
Medusa

 "c:\windows\desktop", in questo caso desktop.
Pardon, nella mia precedente risposta avevo capito male...
Prova
Function SoloNome(ByVal strPath As String) As String
    SoloNome = Right$(strPath, Len(strPath) - InStrRev(strPath, "\"))
End Function
--
Faber
P.S.: la tua risposta va _dopo_ il testo quotato, non sopra!

Potresti gentilmente spiegare come funziona l'API SHFileOperation(). Se devo
copiare una cartella, come devo utilizzarla?
Grazie in anticipo!
-Ciao-
-Luca450Mhz-


 Potresti gentilmente spiegare come funziona l'API SHFileOperation().
[Potresti gentilmente scrivere _sotto_ al messaggio a cui stai
rispondendo?]
http://msdn.microsoft.com/library/en-us/shellcc/platform/Shell/reference
/functions/shfileoperation.asp
e
http://msdn.microsoft.com/ARCHIVE/en-us/dnarvb4/html/msdn_fileopen.asp
--
Faber


Ti ringrazio!! Appena mi sarà possibile andrò a controllare questi link che
mi hai mandato. Come vuoi!! Scriverò sempre sotto al messaggio a cui
rispondo. Grazie anche x questo consiglio.
-Ciao-
-Luca450Mhz-