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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
astaroth
Niveau 4
Niveau 4
Messages : 65
Enregistré le : dim. 28 oct. 2007 15:22
Status : Hors ligne

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

#1

Message 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:
Modifié en dernier par astaroth le dim. 16 nov. 2008 18:22, modifié 4 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#2

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
astaroth
Niveau 4
Niveau 4
Messages : 65
Enregistré le : dim. 28 oct. 2007 15:22
Status : Hors ligne

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

#3

Message 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
SanZos
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 14 nov. 2008 21:16
Localisation : Nantes
Status : Hors ligne

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

#4

Message 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
astaroth
Niveau 4
Niveau 4
Messages : 65
Enregistré le : dim. 28 oct. 2007 15:22
Status : Hors ligne

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

#5

Message 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
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

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

#6

Message par jbnh »

mhhh, c'est normal le while 0?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
SanZos
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 14 nov. 2008 21:16
Localisation : Nantes
Status : Hors ligne

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

#7

Message 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).
astaroth
Niveau 4
Niveau 4
Messages : 65
Enregistré le : dim. 28 oct. 2007 15:22
Status : Hors ligne

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

#8

Message 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
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

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

#9

Message 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
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
astaroth
Niveau 4
Niveau 4
Messages : 65
Enregistré le : dim. 28 oct. 2007 15:22
Status : Hors ligne

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

#10

Message 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
Répondre