[Résolu] Copie de dossier avec variable

Copie de dossier avec variable [Résolu] - Shell/Batch - Programmation

Marsh Posté le 02-11-2012 à 14:39:57    

Bonjour,
 
Après de multiples recherche infructueuses je fais appel à vos connaissances.
J'aimerai copier un dossier vers un autre pour faire une sauvegarde mais en y ajoutant une variable.
 
Dans l'idée ce que je veux ressemble au code du dessous mais je souhaiterai remplacer le "2.4" par une variable pour ne pas avoir à refaire le batch à chaque upgrade logiciel.

Code :
  1. xcopy /E/I/Y "C:\Program Files (x86)\LibreOffice 2.4\share" "D:\Bureau\LibreOffice"


Merci d'avance


Message édité par djodjolyon le 05-11-2012 à 06:30:05
Reply

Marsh Posté le 02-11-2012 à 14:39:57   

Reply

Marsh Posté le 03-11-2012 à 12:03:18    

Bonjour, tu peux chercher "passage de paramètre avec dos".
 
Si non, tu file le nom de fichier en paramètre à ton batch et tu le récupère dans le batch avec %1 si c'est le premier paramètre.

Reply

Marsh Posté le 03-11-2012 à 13:12:03    

Salut,
 
Alors soit en variable dans ton bat :
 
set version=2.4
xcopy /E/I/Y "C:\Program Files (x86)\LibreOffice %version%\share" "D:\Bureau\LibreOffice"
 
soit comme le dit jovalise, en passant le paramètre de version au bat :
 
pour le lancer : script.bat 2.4
et dans le bat
xcopy /E/I/Y "C:\Program Files (x86)\LibreOffice %1\share" "D:\Bureau\LibreOffice"

Reply

Marsh Posté le 04-11-2012 à 16:17:57    

Salut,
Merci pour vos réponses!
 
Les solutions ne me conviennent pas s'il faut que je rentre manuellement le numéro de version. Le but était d'éviter ça, pour ne pas avoir à modifier le fichier bat à chaque upgrade du logiciel.
Je souhaite exécuter le batch sous forme de tache planifiée.
 
 
J'avais essayé quelque chose du genre :
set version=*
xcopy /E/I/Y "C:\Program Files (x86)\LibreOffice %version%\share" "D:\Bureau\LibreOffice"
 
Je pensais que l'étoile pourrais fonctionner puisqu'elle fonctionne pour rechercher les fichier avec une extension particulière par exemple (ex : *.txt)

Reply

Marsh Posté le 04-11-2012 à 16:41:23    

J'ai trouvé finalement...

Code :
  1. for /F "delims=" %%a in ('dir /b/s/a:d "C:\Program Files (x86)\LibreOffice *.*"') do (
  2. xcopy /E/I/Y "%%a\share" "D:\Bureau\LibreOffice"
  3. )


 
Merci de votre aide


Message édité par djodjolyon le 04-11-2012 à 16:50:54
Reply

Sujets relatifs:

Leave a Replay

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