Esiste un comando per copiare un'intera cartella?
Ciao e buon week-end
risp = shell("xcopy " & Origine & " " & Destinazione & " /s /e")
ricordandosi di usare una sintassi tipo
shell("xcopy C:\temp\ C:\temp1\ /s /e")
cioč con i percorsi che terminano con "\", altrimenti viene chiesto se si
tratta di file o di directory
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
Puoi crearti una funzione:
Function DirCopy(SourceDir As String, DestDir As String)
Dim FileName As String
FileName = Dir(SourceDir & "\*.*")
Do While Len(FileName) > 0
FileCopy SourceDir & "\" & FileName, DestDir & "\" & FileName
FileName = Dir
Loop
End Function
Ciao!
Esteban
Hosted by www.seber.it
Anch'io avevo subito pensato a Filecopy, ma non mi risulta che possa usare
"*.*" e che possa copiare eventuali sotto cartelle (almeno in A97).
1) Se leggi il codice, vedi che c'č un ciclo: per ogni file che esiste nella
cartella SourceDir 'Dir(SourceDir & "\*.*")' copia il file (il cui nome č
ritornato dalla funzione Dir e memorizzato nella variabile FileName) nella
cartella DestDir con lo stesso nome.
2) Nella domanda _non_č_richiesta_ la copia di tutte le sottocartelle! (Esiste
un comando per copiare un'intera cartella?)
Ok? Soddisfatto?
Esteban
Hosted by www.seber.it
Ok! OK! Non te la prendere... ho letto male il tuo codice...
... però se mi chiede se esiste un comando che copi un'intera cartella, x me
intende anche eventuali sotto cartelle...
... ma non mi dichiarare guerra x questo... :-)))
Ciao
thank's
Riccardo
ciao Riccardo
Creati allora un flie batch DirCopy.bat cosě composto
@echo off
xcopy %1 %2 /s /e
cls
da Access lo lanci con
risp = shell("DirCopy " & Origine & " " & Destinazione)
AEOM
La sintassi è valida x tutti i comandi esterni del DOS, x qualunque
eseguibile e x i file batch.
ciao
avevi ragione....avevo provato con vbMinimizedNoFocus
ciao Riccardo
Dim Origine As String
Dim Destinazione As String
Dim copia
Origine = "c:\access"
Destinazione = "C:\__pippo\"
copia = Shell("c:\pippo " & Origine & " " & Destinazione)
ma mi da :
Errore di Run-time 5
Chiamata di Routine o argomenti non validi
vado in debug e mi evidenzia in giallo la riga
copia = Shell("c:\pippo " & Origine & " " & Destinazione)
dove sbaglio?
Dim Origine As String
Dim Destinazione As String
Dim copia as Long
Origine = "c:\access\"
Destinazione = "C:\__pippo\"
copia = Shell("c:\pippo.bat " & Origine & " " & Destinazione)
Funziona anche per i comandi interni:
in Windows 9x: shell "command /C comando_interno"
in Windows NT: shwll "cmd /C comando interno"
L'opzione /C esegue il comando e poi chiude la finestra di Dos. Se vuoi aprire
una finestra di Dos e lasciarla aperta dopo l'esecuzione del comando (p.e. per
controllare l'esecuzione del comando) allora usa il parametro /K.
Perfetto!