Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2785 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Copie de répertoire avec if avec un serveur sous Windows 2000 Serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copie de répertoire avec if avec un serveur sous Windows 2000 Serveur

n°1301637
Cereale_ki​ller
Posté le 08-02-2006 à 21:03:53  profilanswer
 

Salut à tous,
 
Enfaite en ce moment je suis en stage dans une entreprise, dans la partie administration reseau  
et mon patron m'a demandé de créer un fichier .bat à mettre sur le serveur et  
que chaque machine executera automatiquement au démarrage.  
La machine tourne sur un windows 2000 serveur.
 
Et donc dans ce fichier bat je doit dire :
 
Si le repertoire C:\Program Files\pagedefrag n'existe pas,  
alors je copie le repertoire pagedefrag qui se trouve dans un deuxieme repertoire pagedefrag  
qui est lui meme à la racine du serveur qui s'appelle nas et que je colle dans mon C:\Program Files  
(Arg, vous suivez toujours la ?  :pt1cable: )
 
Puis ensuite je dois lancer pagedfrg.exe qui maintenant se trouve dans C:\Program Files\pagedefrag
 
 
Alors voila le code que j'ai mis dans le fichier .bat mais qui ne marche pas :
 

Citation :

@echo off
 
net use j: \\nas\pagedefrag
 
if not exist %programfiles%\pagedefrag xcopy j:\pagedefrag %programfiles%
if exist pagedefrag echo fichier existant
 
net use j: /delete
 
cd %programfiles%
cd PageDefrag
pagedfrg.exe -e -t 3  
(-e et - t 3 sont des commandes à rajouter derrière l'exe qui permette de cocher  
des options dans le logiciel sans avoir à cliquer, en l'occurence, effectuer une  
defragmentation à chaque reboot avec 3 secondes pour annuler en appuyant sur une touche)


 
Pourriez-vous me dire ce qui cloche dans mon code et me corriger  
ou me récrire carrément tout un code comme vous pensez qu'il faut faire.
 
 
Merci d'avance, j'espere que j'ai été clair dans mes explications.
Merci de me répondre vite car je retourne au boulot demain matin  :)


Message édité par Cereale_killer le 08-02-2006 à 21:17:38
mood
Publicité
Posté le 08-02-2006 à 21:03:53  profilanswer
 

n°1301648
wackevat
Posté le 08-02-2006 à 21:13:20  profilanswer
 

Tu dois quoter des chemins contenant des espaces :
if not exist "%programfiles%\pagedefrag" etc.

n°1301654
Cereale_ki​ller
Posté le 08-02-2006 à 21:17:02  profilanswer
 

Merci beaucoup, enfaite c'est tout con lol, j'ai passer des heures à faire des essais qui se soldaient tous par un echec tout ça a cause d'un problème de guillimet.
 
Encore merci pour ta réponse ultra-rapide.
 
Sinon est-ce que tu détectes d'autres erreurs de code ou des moyens de le simplifier ?

n°1301656
couak
Posté le 08-02-2006 à 21:18:23  profilanswer
 

mapper le lecteur réseau uniquement si on doit répertoire ?

n°1301660
Cereale_ki​ller
Posté le 08-02-2006 à 21:20:44  profilanswer
 

couak a écrit :

mapper le lecteur réseau uniquement si on doit répertoire ?


 
Excuse moi je ne m'y connais pas trop en réseau et je ne connais pas le sens du terme "mapper"  :sweat:

Message cité 1 fois
Message édité par Cereale_killer le 08-02-2006 à 21:31:35
n°1301676
wackevat
Posté le 08-02-2006 à 21:43:36  profilanswer
 

Cereale_killer a écrit :

Excuse moi je ne m'y connais pas trop en réseau et je ne connais pas le sens du terme "mapper"  :sweat:


Il y manquait un ou plutôt deux mots "créer le"...
 
Sinon, mapper, c'est "net use" ;)
 
Je ferais comme ça :

Code :
  1. @echo off
  2. if not exist "%programfiles%\pagedefrag" (
  3.    net use j: \\nas\pagedefrag
  4.    xcopy j:\pagedefrag "%programfiles%"
  5.    net use j: /delete
  6. ) else echo fichier existant
  7. "%programfiles%\PageDefrag\pagedfrg.exe" -e -t 3

n°1301684
Cereale_ki​ller
Posté le 08-02-2006 à 21:53:37  profilanswer
 

Merci beaucoup c'est super simpa de m'avoir tapé tout le code comme il faut.
Ca m'enleve une belle épine du pied et comme ça on pourra passer à autre chose.
Demain, je posterais quand même pour vous dire si ça marche ;) :)


Message édité par Cereale_killer le 08-02-2006 à 22:16:30
n°1301807
Cereale_ki​ller
Posté le 09-02-2006 à 09:19:17  profilanswer
 

Merci beaucoup !
Ca marche  impeccable !  
J'ai juste dû faire une petite modification dans le code, il copiait le fichier pagedfrg.exe à la racine de Program Files et pas dans un répertoire pagedefrag, donc voilà mon code final :
 

Citation :

@echo off
   
 
if not exist "%programfiles%\pagedefrag" (
   
   net use j: \\nas\pagedefrag
   
   xcopy j:\pagedefrag "%programfiles%\pagedefrag" /i
   
   net use j: /delete
   
) else echo fichier existant
 
     
"%programfiles%\pagedefrag\pagedfrg.exe" -e -t 3


Message édité par Cereale_killer le 09-02-2006 à 09:19:49

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Copie de répertoire avec if avec un serveur sous Windows 2000 Serveur

 

Sujets relatifs
message d'erreur : lien vers le serveur ne peut etre etabli... help!Définir un répertoire de sortie
Client-serveur avec socket en C (client) vers PHP (serveur)lire un repertoire
Création base de donnée SQL server 2000 SP3comment faire pour migrer sql ser. 97 à sql 2000 sur le même serveur?
stat -> savoir si c'est un repertoireListing répertoire de MP3 et lecture des tags de ces fichiers
Modifier un service windows en batch 
Plus de sujets relatifs à : Copie de répertoire avec if avec un serveur sous Windows 2000 Serveur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR