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

Copie de répertoire avec if avec un serveur sous Windows 2000 Serveur - Shell/Batch - Programmation

Marsh Posté le 08-02-2006 à 21:03:53    

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
Reply

Marsh Posté le 08-02-2006 à 21:03:53   

Reply

Marsh Posté le 08-02-2006 à 21:13:20    

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

Reply

Marsh Posté le 08-02-2006 à 21:17:02    

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 ?

Reply

Marsh Posté le 08-02-2006 à 21:18:23    

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

Reply

Marsh Posté le 08-02-2006 à 21:20:44    

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
Reply

Marsh Posté le 08-02-2006 à 21:43:36    

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

Reply

Marsh Posté le 08-02-2006 à 21:53:37    

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
Reply

Marsh Posté le 09-02-2006 à 09:19:17    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed