Page 1 sur 1

[R] Copie d'un dossier situé sur le réseau

Posté : sam. 15 nov. 2008 13:25
par astaroth
Bonjour!

Je voudrait savoir comment faire pour copié un dossier situé sur le réseau sur mon ordinateur.
Par exemple je voudrait qu'il enregistre le dossier nommé "Sav" situé dans "\\PC_Cible\Users\Public" sur mon pc dans "mes documents" par exemple, et tout ça toute les minutes et en silencieux :D (pas de "copie en cour" qui s'affiche a l'écran, ni de "voulez-vous vraiment remplacer ce dossier" ect)

Merci :wink:

Re: [..] Copie d'un dossier situé sur le réseau

Posté : sam. 15 nov. 2008 15:13
par Tlem
Chez moi, l'utilisation de FileCopy($Src, $Dst) fonctionne parfaitement (même avec le chemin UNC). ;)

Pour faire une action toute les X minutes, il existe plusieurs approche, tout dépend si votre script ne doit faire que ça, ou si il doit faire aussi autre chose.

Si il doit faire que ça, alors une boucle While, une pause de X minutes puis la/les commandes à exécuter.
Si votre script doit faire autre chose, il vous faudra utiliser la commande AdlibEnable.

Re: [..] Copie d'un dossier situé sur le réseau

Posté : sam. 15 nov. 2008 18:01
par astaroth
Merci pour votre réponse, mais est-ce possible de copier un dossier et non un fichier? (ou alors tout le contenu du dossier)

Pouvez vous me montrer un exemple de la fonction while pour mon cas?

j'ai essayé:

Code : Tout sélectionner

#NoTrayIcon

$src = "\\PC-DE-MOA\Users\Public\Documents\BN\Dossier_1\fichier.exe"
$Dst = "C:\Users\ME\Desktop"

While 0
    Sleep(10000)
    
 FileCopy($Src, $Dst)
WEnd
Mais ne fonctionne pas ^^ (jamais utilisé cette fonction) j'ai regarder l'aide mais ça ne m'a pas trop aidé. Le script a comme seul fonction la copie du dossier (ou de son contenu).

Encore une question: si le pc cible est éteint ou inaccessible le script continuera t-il sont exécution? Jusqu'à ce que le pc cible soit disponible?

Merci :D

Re: [..] Copie d'un dossier situé sur le réseau

Posté : sam. 15 nov. 2008 21:02
par SanZos
Bonsoir, pour copier un dossier a la place d'un fichier il suffit d'utiliser la commande :

Code : Tout sélectionner

DirCopy($src, $dest)
Pour ta question je dirai que le code correct a exécuter serai, pour un fichier :

Code : Tout sélectionner

#NoTrayIcon

$src = "\\PC-DE-MOA\Users\Public\Documents\BN\Dossier_1\fichier.exe"
$dst = "C:\Users\ME\Desktop"

FileCopy($src,dst)

While 0
    Sleep(10000)
    FileCopy($src, $dst)
WEnd
Et, pour un dossier :

Code : Tout sélectionner

DirCopy($src,dst)

While 0
    Sleep(10000)
    DirCopy($src, $dst)
WEnd

Re: [..] Copie d'un dossier situé sur le réseau

Posté : dim. 16 nov. 2008 11:20
par astaroth
Je vient d'essayer et le dossier ne se copie pas :cry:

voici mon script:

Code : Tout sélectionner

#NoTrayIcon

$src = "\\PC-DE-DJERK\Public\Documents\BBC"
$dst = "D:\Documents\Perso\Rapport\Copies"

DirCopy($src,$dst)

While 0
    Sleep(20000)
    DirCopy($src, $dst)
WEnd
Certains dossier son caché (le dossier de destination "Copies" et "Documents" du pc source) est-ce pour cela que ca ne marche pas?

Si le pc cible est éteint ou inaccessible le script continuera t-il sont exécution? Jusqu'à ce que le pc cible soit disponible?

Merci

Re: [..] Copie d'un dossier situé sur le réseau

Posté : dim. 16 nov. 2008 12:21
par jbnh
mhhh, c'est normal le while 0?

Re: [..] Copie d'un dossier situé sur le réseau

Posté : dim. 16 nov. 2008 12:28
par SanZos
Essai avec un

Code : Tout sélectionner

DirCopy($src,$dst,1)
mais attention c'est les données du dossier BBC qui vont être copier dans le dossier Copies, pour copier les donner du dossier BBC dans un dossier BBC il faut mettre Copies\BBC. Et le ,1 sert a dire que si les données sont déjà présente elle seront effacer et remplacer.
Et le

Code : Tout sélectionner

while 0
c'est pour qu'il recommence la copie tant que le dossier n'a pas été copier (mais ça fonctionne pas trop).

Re: [..] Copie d'un dossier situé sur le réseau

Posté : dim. 16 nov. 2008 14:17
par astaroth
Je vient d'essayer en mettant 1 au lieu de 0 a coté de while et le script fonctionne maintenant (d'ailleurs que signifie ses chiffres?), mais seulement quand le fichier n'est pas sur le réseau..

Quand j'essaye de copier le dossier (ou son contenu) "\\PC-DE-DJERK\Public\Documents\BBC" rien ne se passe :/

si quelqu'un a une idée.. :)

Ps: le dossier est en copropriétaire je peux les copié manuellement sans problèmes

Re: [..] Copie d'un dossier situé sur le réseau

Posté : dim. 16 nov. 2008 16:06
par sylvanie
Bonjour,
astaroth a écrit :Je vient d'essayer en mettant 1 au lieu de 0 a coté de while et le script fonctionne maintenant (d'ailleurs que signifie ses chiffres?)
concernant ce point while fonctionne avec une condition vraie (sous entendu 1)
écrire while 1 revient à dire fait le tant que 1=1 (boucle infinie dont on ne se sort que par un exitloop, ou arrêt de l'exe ...)

quant à while 0, est bien, fait tant que 0=1 et du coups on n'entre pas dans la boucle ...

pour le fond du problème par contre... la seule contrainte "normalement" est que le login lanceur du script ait les droits d'accès sur la source et d'écriture sur la destination ...

avec le 1 d'option comme le soulignait Sanzos

Re: [..] Copie d'un dossier situé sur le réseau

Posté : dim. 16 nov. 2008 18:21
par astaroth
J'ai formater mon pc cet après midi (il en avait vraiment besoin) et après la réinstallation de autoit le script fonctionne parfaitement ^^ (sans l'avoir modifié)

Merci a tous pour votre aide. :D