IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Copier des fichiers sur un pc depuis un serveur


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Copier des fichiers sur un pc depuis un serveur
    Bonjour à tous,

    je viens demander de l'aide pour un script batch qui me permet de récupérer des logiciels sur un serveur linux.

    J'ai créé un Bash à l'aide du forum http://www.developpez.net/forums/d13...on-d-iso-bash/ qui lui télécharge tous les logiciels dont j'ai besoin.

    Mon .bat va dans mon serveur linux prendre les fichiers ou dossier et les met sur le bureau du PC que je suis en train de nettoyer. Cependant, le script ne réagit pas pareil de partout.
    Je l'ai testé sur une VM en exécutant le .bat depuis le serveur, il se referme automatiquement, si je le copie sur le bureau il se lance, mais ne fonctionne pas.

    Si je fais le test depuis mon pc en dans les deux cas cela fonctionne.

    Je vous poste la capture d'écran d’échec du .bat et également le script.

    Nom : Capture.PNG
Affichages : 3259
Taille : 23,9 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    set chmA="\\DEBIAN\Serv1\Install_logiciel"
    set chmB="c:\Users\public\Desktop\soft"
     
    mkdir %chmB%
    
    %USERNAME%
    
    xcopy  %chmA%\S-M-D\desinfection  %chmB%\  /E
    xcopy  %chmA%\S-M-D\autoruns*.exe  %chmb%\ 	/E
    xcopy  %chmA%\S-M-D\dfsetup*.exe  %chmb%\	/E
    xcopy  %chmA%\S-M-D\bluescreenview*.zip %chmb%\	/E
    xcopy  %chmA%\S-M-D\privazer_*.exe  %chmb%\
    xcopy  %chmA%\S-M-D\*hardware_identify*.exe  %chmb%\ /E
    
    pause
    Pour information le script est testé sur Windows 7.

    Pour finir je suis débutant en batch.
    N’hésitez pas à me conseiller, car j'aimerais bien faire évoluer ce script avec d'autre option, mais je voudrais déjà régler ce problème.

    Merci à vous.

  2. #2
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Salut,
    je pense que ceci pourrait t'indiquer où tu t'es "trompé":

    Nom : E05xLG6fiA.jpg
Affichages : 2940
Taille : 91,6 Ko

    En gros supprime ce qu'il y a en rouge ci-dessous:

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    set chmA="\\DEBIAN\Serv1\Install_logiciel"
    set chmB="c:\Users\public\Desktop\soft"
     
    mkdir %chmB%
    
    %USERNAME%  <- A quoi sert-il ici?
    
    xcopy  %chmA%\S-M-D\desinfection  %chmB%\  /E
    xcopy  %chmA%\S-M-D\autoruns*.exe  %chmb%\ 	/E
    xcopy  %chmA%\S-M-D\dfsetup*.exe  %chmb%\	/E
    xcopy  %chmA%\S-M-D\bluescreenview*.zip %chmb%\	/E
    xcopy  %chmA%\S-M-D\privazer_*.exe  %chmb%\
    xcopy  %chmA%\S-M-D\*hardware_identify*.exe  %chmb%\ /E
    
    pause

    PS: Regarde la dernière ligne du screenshot et pas besoin de guillemets à tes "set truc=machin"
    J'ajouterais aussi /Y à mes XCopy -> tape xcopy /? pour savoir ce que fait /Y
    Sinon fait attention aux espaces dans ton code aussi

    Pour débugger tes scripts (surtout ceux avec des chemins/caractères spéciaux) tu peux simplement utiliser la commande "echo" pour voir si ton chemin est bon ou pas exemple -> echo xcopy "%chmA%\test.txt" "%chmB%\" /E /Y

    Et j'aurais ajouté une vérification si le dossier/fichiers existent déjà dans mon dossier:

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off&cls
    set chmA=\\%computername%\c$
    set chmB=D:\%username%\Desktop\test
     
    if exist "%chmB%" rd /S /Q "%chmB%"
    if not exist "%chmB%" mkdir "%chmB%"
     
    echo xcopy "%chmA%\test.txt" "%chmB%\" /E /Y
     
    pause
    Images attachées Images attachées  
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  3. #3
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    +1 @devilsnake88

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  4. #4
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    @sachadee: Tu sais que je te ferais des bébés si je pouvais? xD
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour tous le monde.

    Merci beaucoup de ton aide devilsnake88.

    Du coup mon script marche bien sur mon PC, que cela soit en local ou depuis mon serveur Linux.
    Par contre sur la VM, en local j'ai l'erreur que l'on voie sur la capture (je l'ai déjà eu sur des PCs ou j’exécutai le Script) Et depuis le serveur le script s'ouvre et se ferme, mais je pense que ces du à la VM, car je n'ai jamais eu ce problème sur un PC.

    Voici le nouveau code et la capture :


    set chmA=\\DEBIAN\Serv1\Install_logiciel
    set chmB=c:\Users\public\Desktop\soft

    mkdir %chmB%



    xcopy %chmA%\S-M-D\desinfection %chmB% /E /Y
    xcopy %chmA%\S-M-D\autoruns*.exe %chmb% /E /Y
    xcopy %chmA%\S-M-D\dfsetup*.exe %chmb% /E /Y
    xcopy %chmA%\S-M-D\bluescreenview*.zip %chmb% /E
    xcopy %chmA%\S-M-D\privazer_*.exe %chmb% /E /Y
    xcopy %chmA%\S-M-D\*hardware_identify*.exe %chmb% /E /Y

    pause
    Nom : Capture.PNG
Affichages : 3088
Taille : 21,4 Ko

    Merci à vous !

  6. #6
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Alors si j'ai bien compris:

    Tu possèdes un serveur Debian, ton PC et une machine virtuelle.

    Sur ta machine virtuelle essaye de pinger ton serveur et ton PC (cmd > ping le LeNomDeTaMachine ou l'IPDeTaMachine), voir si le reverse DNS se fait car il se peut que ta machine virtuelle soit sur un autre réseau, si c'est le cas, il faudrait que tu changes la config réseau de ta machine virtuelle et la passer en accès par pont.

    Redis moi si le ping passe ou pas et fait donc un ipconfig/all sur ton pc et ta machine virtuelle voir si les IP commencent bien par la même chose.
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,

    Désolé pour l'attente... Beaucoup de travail.

    Alors oui le Ping passe sur le nom NetBios (DEBIAN)
    Les machines sont sur le mêmes réseau cela est vérifiez.

    En cherchant sur la toile, certaines personnes parle de chemin UNC ? Car j'ai tester le Script sur un PC Windows 7 récemment, et le script retourne la même erreur que la VM.

  8. #8
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Peux-tu nous indiquer ton code actuel complet?

    Avec en bonus un screenshot des erreurs ou une copie brute du texte.
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,

    Voici le code merci à vous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    set chmA=\\DEBIAN\Serv1\Install_logiciel
    set chmB=c:\Users\public\Desktop\soft\
     
    mkdir %chmB%
    
    xcopy  %chmA%\S-M-D\desinfection  %chmB%\desinfection\  /S /Y
    xcopy  %chmA%\S-M-D\autoruns*.exe  %chmb% 	 /Y
    xcopy  %chmA%\S-M-D\dfsetup*.exe  %chmb%	 /Y
    xcopy  %chmA%\S-M-D\bluescreenview*.zip %chmb%	/Y
    xcopy  %chmA%\S-M-D\privazer_*.exe  %chmb%   /Y
    
    pause

  10. #10
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Je ne peux pas vraiment tester le script ici mais le chemin UNC visiblement ça semble être le chemin réseau que tu utilises genre:
    \\DEBIAN\ <- UNC
    c:\ <- Local
    Donc si tu dois tout passer par UNC (et si je ne me trompe pas) ça donnerait quelque chose du style:

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    set chmB=\\%computername%\c$\Users\Public\Desktop\soft\
    Après je ne suis pas certain qu'essayer de placer des fichiers dans le bureau de Public soit la meilleure solution, essaye avec ceci:

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    set chmB=\\%computername%\c$\Users\%username%\Desktop\soft\
    ou chemin local:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    set chmB=C:\Users\%username%\Desktop\soft\

    Sinon je vois un petit:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    %chmB%\desinfection\
    Mais tu ne créés pas le dossier "desinfection", d'ailleurs s'il te plait utilise ce que je t'ai donné plus haut, if exist le dossier ça sera bien mieux...

    Et ajoute en toute première ligne de ton script:
    Pour avoir un visuel sur ce qu'il se passe et où le script a du mal.
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    J'ai oublié de poster l'erreur l'autre jour,

    C:\Windows\system32>set chmA=\\DEBIAN\Serv1\Install_logiciel

    C:\Windows\system32>set chmB=C:\Users\test\Desktop\soft\

    C:\Windows\system32>mkdir C:\Users\test\Desktop\soft\

    C:\Windows\system32>xcopy \\DEBIAN\Serv1\Install_logiciel\S-M-D\desinfection C
    :\Users\test\Desktop\soft\\desinfection\ /S /Y
    Spécification du lecteur non valide
    0 fichier(s) copié(s)

    C:\Windows\system32>xcopy \\DEBIAN\Serv1\Install_logiciel\S-M-D\autoruns*.exe
    C:\Users\test\Desktop\soft\ /Y
    Spécification du lecteur non valide
    0 fichier(s) copié(s)

    C:\Windows\system32>xcopy \\DEBIAN\Serv1\Install_logiciel\S-M-D\dfsetup*.exe C
    :\Users\test\Desktop\soft\ /Y
    Spécification du lecteur non valide
    0 fichier(s) copié(s)

    C:\Windows\system32>xcopy \\DEBIAN\Serv1\Install_logiciel\S-M-D\bluescreenview*
    .zip C:\Users\test\Desktop\soft\ /Y
    Spécification du lecteur non valide
    0 fichier(s) copié(s)

    C:\Windows\system32>xcopy \\DEBIAN\Serv1\Install_logiciel\S-M-D\privazer_*.exe
    C:\Users\test\Desktop\soft\ /Y
    Spécification du lecteur non valide
    0 fichier(s) copié(s)

    C:\Windows\system32>pause
    Appuyez sur une touche pour continuer...
    Par contre je n'ai pas besoin du IF.

    Merci encore.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,

    Je viens de tester sur plusieurs PC, et cela fait la même erreur que j'ai posté précédemment.

  13. #13
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Vérifie que TOUS tes fichiers et dossiers inscrits dans ton script existent et dans ton script ajoute des " pour être certain
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Oui ils existes car, sur mon PC perso cela fonctionne...
    Ok, je vais rajouter les " .

    Merci encore, je vous tiens au courant.

Discussions similaires

  1. Copier des fichiers sur une clé USB, problème pour le chemin.
    Par monsieurY dans le forum Scripts/Batch
    Réponses: 21
    Dernier message: 21/01/2010, 10h56
  2. copier des fichiers sur un repertoire
    Par l_achraf dans le forum VB.NET
    Réponses: 5
    Dernier message: 15/05/2009, 21h30
  3. Réponses: 19
    Dernier message: 08/04/2009, 16h06
  4. Copier des fichier sur FTP
    Par krhyme dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2008, 21h09
  5. copier des fichiers sur un réseau
    Par run_nahu dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2007, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo