Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - copia
Forum - Visual Basic 6 - copia

Avatar
Kitos (Normal User)
Newbie


Messaggi: 9
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 23:04
Mercoledì, 14/05/2008
io avrei necessità di copiare un file in tutte le cartelle presenti nella sua path...

tipo se è in C:\prova e in questa cartella ci sono altre 5 cartelle, il file in questione deve essere copiato in tutte le sottocartelle (C:\prova\*).

Sarebbe facile, la stringa dovrebeb essere questa:
Codice sorgente - presumibilmente Plain Text

  1. FileCopy (".\file.ext"), (".\*\file.ext")



però mi dà errore... come posso fare?

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 7:55
Giovedì, 15/05/2008
Puoi usare la funzione Dir per ottenere la lista di tutte le cartelle ... oppure un oggetto File System Object

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:50
Giovedì, 15/05/2008
Per copiare una cartella con il FSO(File system object) basta fare:

Codice sorgente - presumibilmente VB.NET

  1. dim fso2
  2. Set fso2 = CreateObject("scripting.FileSystemObject")
  3. fso2.CopyFolder Percorso, Destinazione, True*
  4. End Sub



*quel True significa che se ad esempio tu vuoi copiare la cartella C:\1\ in C:\2\ se in C:\2\ è già presente una cartella di nome 1, la sostituisce...

PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 15:57
Giovedì, 15/05/2008
per copiare semplicemente un file non c'è bisogno di usare l'oggetto fso. Basta l'api CopyFile. L'oggetto file system object deve servire più che altro per muoversi nelle sotto cartelle.
Dovresti spiegare piuttosto il modo per muoversi nelle sotto cartelle cosi per esempio.
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load()
  2. Dim fso As New FileSystemObject
  3.  
  4. Dim fld As Folder
  5. Set fld = fso.GetFolder("C:\prova")
  6.  
  7.  
  8. For Each fld In fld.SubFolders
  9. fso.CopyFile "filedacopiare", fld
  10.  
  11. Next
  12.  
  13. Set fso = Nothing
  14. Set fld = Nothing
  15. End Sub



comunque potresti usare anche le api di windows per muoverti nelle sottocartelle.

...Posso sapere a cosa ti serve copiare un file nelle sotto directory?

Ultima modifica effettuata da Overflow il 15/05/2008 alle 16:10
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 15:58
Giovedì, 15/05/2008
@Grg ... lui non vuole copiare tutta una cartella in un'altra ma

"io avrei necessità di copiare un file in tutte le cartelle"

quindi 1 file in tutte le cartelle ...

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:10
Venerdì, 16/05/2008
lol!

Scusatemi!! non avevo letto bene!

8-|:asd:

PM Quote