Newsgroup: it.comp.lang.visual-basic
Titolo: Perchè non mi funziona il CopyFolder

Ciao a tutti
non riesco a utilizzare il CopyFolder per copiare una cartella di file in
un'altra posizione.
Il codice che ho scritto è il seguente:
        Dim a As String
        Dim b As String
        Set fs = CreateObject("Scripting.FileSystemObject")
        a = TextBox3.Text & "*"                       ' il risultato è:
c:\prova\*
        b = TextBox3.Text & "BUCKUP\"        'il risultato è:
c:\prova\BUCKUP\
        fs.CopyFolder a, b
le due cartelle interessate sono esistenti e la prima (origine) contiene
diversi file.
L'errore che mi appare è il seguente: "Invalid procedure call or argument"
Mi potete dire dove sbaglio?
Ringrazio tutti in anticipo.
Ciao da Emiliano

 Mi potete dire dove sbaglio?
Stai copiando la cartella "BUCKUP" ( e i file )  e le altre cartelle  di
"C:\prova" dentro se stesso!!!
Prova a entrare in dos o in esplora risorse e a fare quello che hai scritto
tu , e' sbagliato il concetto !!!
NUN SE PO FA !!!
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/


Perchč dici che non si puň fare?
Se utilizzo esplora risorse vado nella cartella c:\prova e seleziono tutti i
file e la sottocartella BUCKUP, e faccio un COPIA.
Poi vado nella cartella c:\prova\BUCKUP e faccio un INCOLLA, l'operazione
viene fatta senza problemi.
Io verrei fare la stessa cosa con VBA ma non funge, probabilmente ho
sbagliato qualcosa nel codice, ma non ho capito cosa:
        Dim a As String
        Dim b As String
        Set fs = CreateObject("Scripting.FileSystemObject")
        a = TextBox3.Text & "*"                       ' il risultato č:
c:\prova\*
        b = TextBox3.Text & "BUCKUP\"        'il risultato č:
c:\prova\BUCKUP\
        fs.CopyFolder a, b
Ti ringrazio
Ciao da Emiliano

         fs.CopyFolder a, b
in
        a = "C:\prova\*"
         b = "C:\BUCKUP\"
         fs.CopyFolder a, b ' cosi funziona
OK ? Fai sta prova e poi mi dici !

 OK ? Fai sta prova e poi mi dici !
Scusami ma non si ci siano capiti, sono 15 anni che uso il PC ancora quando
c'era il vecchio DOS e ho sempre fatto questa operazione!!!!
L'errore che tu segnali si verifica se io provo a copiare la cartella
"c:\prova" dentro "c:\prova" ma non si puň verificare se copio la cartella
"c:\prova" in "c:\prova\buckup"!!!
La cartella "c:\prova" non č la stessa cartella "c:\prova\buckup"; sono due
cartelle diverse anche se una č dentro l'altra!
Ho comunque provato a creare le due cartelle C:\prova e C.\BUCKUP e quindi a
modificare il codice, ma non funziona, addirittura su piů computer.
Ciao da Emiliano

 computer.
O_o
scusa ma con explorer di winzoz a me funziona tutto e NON HA MAI FUNZIONATO
il "copia cartella dentro se stesso" come fai tu facendo la copia di
C:\prova\* dentro a C:\prova\bukup , cioe' copia tutti i file e le cartelle
e quando arriva a copiare C:\prova\bukup dentro a  C:\prova\bukup
LOGICAMENTE si incavola ^_____^
Magari prima copi i file e poi copi cartella per cartella dentro a "bukup"
_TRANNE_ la cartella che ha il nome "bukup" che ti da errore ( che ti da
errore ) [ che ti da errore] { che ti da errore }


Ciao,
purtroppo ho dovuto constatare che hai ragione, ma quando l'ho scoperto non
credevo ai miei occhi.
Non riesco a capire perchè Windows si incaz.. con questa operazione!!
Io pensavo che:
1. utilizzando esplora risorse e andando nella cartella "c:\prova",
selezionando tutti i file compresa la sottocartella "BUCKUP", e facendo un
COPIA
2  poi andando nella cartella "c:\prova\BUCKUP" e facendo un INCOLLA
pensavo che la cartella "buckup" copiata diventasse "c:\prova\buckup\buckup"
che è appunto un percorso valido per Windows.
D'altra parte se vado dentro la cartella "c:\prova\buckup" e faccio una
"Nuova cartella" chiamandola appunto "Buckup" Windows non si incaz.. e
funziona regolamente, infatti non c'è nessun problema di omonimia ,e le due
cartelle sono completamente distinte una dall'altra.
BO??
Comunque grazie a te e quindi a questa scoperta ho risolto il problema
utilizzando quindi anche la funzione CopyFile.
Ciao e grazie ancora da Emiliano

 utilizzando quindi anche la funzione CopyFile.
guarda il metodo con la cartella di appoggio :
A= C:\prova\*
B = C:\prova\bukup
X = c:\cartelladiappoggio
Copi A,X
Copi X,B
DEL X
misteri di M$



Ok, hai ragione! ma ne ero veramente convinto :-(
Comunque grazie di tutto, ho risolto.
Ciao da Emiliano