dossier variable dans un chemin en batch

dossier variable dans un chemin en batch - Shell/Batch - Programmation

Marsh Posté le 20-03-2009 à 14:13:53    

Bonjour,
 
J'espère être dans la bonne catégorie mais je ne vois pas sous windows de catégorie script batch  
 
je suis en train de créer un script pour l'installation d'un logiciel de façon automatique sur plusieurs PC.
Le problème c est que je ne connais pas le nom du dossier dans lequel est l'appli  ... et que certain on l'appli installer sur un autre chemin donc pour pas foutre le wäï
Avant que se lance l'installation je veux vérifier que le programme n'existe pas déjà
la variable est donc le 2eme dossier au début j'ai tenté "%programfiles%\*\mysoft\mysoft.exe" mais ça marche pas ...
 
rem installation du soft
if NOT exist "%programfiles%\mon soft2007\mysoft\mysoft.exe" GOTO verif1
verif1:
if NOT exist "%programfiles%\monsoft2007\mysoft\mysoft.exe" GOTO verif2
verif2:
if NOT exist "%programfiles%\mon soft 2007\mysoft\mysoft.exe" GOTO verif3
verif3:
if NOT exist "%programfiles%\soft 2007\mysoft\mysoft.exe" GOTO verif4
verif4:
if NOT exist "%programfiles%\my soft 2007\mysoft\mysoft.exe" GOTO verif5
verif5:
if NOT exist "%programfiles%\mysoft2007\mysoft\mysoft.exe" GOTO installrt
installrt:
\\monserveur\applideploy\mysoftpkg.exe
 
Vos idées sont les bienvenue  
Merci d'avance

Reply

Marsh Posté le 20-03-2009 à 14:13:53   

Reply

Marsh Posté le 20-03-2009 à 15:15:23    

il faut des guillements pour les espaces déjà.
 
Sinon, cherche un internet le chemin dos pour program files, de mémoire, je ne sais plus mais ça ressemble à "progr~1" ! Tape ça dans google et tu vas trouver des exemple

Reply

Marsh Posté le 20-03-2009 à 15:33:09    

Oui comme tu peux le constater ils y sont déjà les guillemets.
Quand tu parle de docume~1 (=8) ou progra~2 (=8) tu fais allusion au noms court suivant la version dos limité a 8 caractères.
Rien avoir avec mon problème qui es de savoir si il existe une syntaxe a utilisé pour des avoir variables dans le chemin

Reply

Marsh Posté le 24-03-2009 à 13:31:31    

Tu peut essayer ceci :
 

SET INSTALL=KO
 
IF EXIST "%ProgramFiles%\mon soft2007\mysoft\mysoft.exe"               SET INSTALL=OK
IF EXIST "%ProgramFiles%\monsoft2007\mysoft\mysoft.exe"                SET INSTALL=OK
IF EXIST "%ProgramFiles%\monsoft2007\mon soft 2007\mysoft\mysoft.exe"  SET INSTALL=OK
IF EXIST "%ProgramFiles%\monsoft2007\soft 2007\mysoft\mysoft.exe"      SET INSTALL=OK
IF EXIST "%ProgramFiles%\monsoft2007\my soft 2007\mysoft\mysoft.exe"   SET INSTALL=OK
IF EXIST "%ProgramFiles%\monsoft2007\mysoft2007\mysoft\mysoft.exe"     SET INSTALL=OK
 
IF "%INSTALL%"=="OK" echo Déjà installé...
IF "%INSTALL%"=="KO" \\monserveur\applideploy\mysoftpkg.exe
 


 
Qu'entend tu par "la variable est donc le 2eme dossier au début j'ai tenté "%programfiles%\*\mysoft\mysoft.exe" mais ça marche pas ... "
 
Il n'y a pas moyen d'utilise les caractères joker (*,?..) dans un IF exist


Message édité par Xspawn_Lpc le 24-03-2009 à 13:33:13

---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
Reply

Marsh Posté le 26-03-2009 à 23:19:46    

je n ai pas besoin d afficher si ça été installé ou pas (car batch machine invisible)
en fait je voulais ça :
if not exist "%programfiles%\*\mysoft\mysoft.exe"
mysoft.msi /s  
je voulais juste simplifié les lignes  
ou l'étoile pourrait correspondre au répertoire dont je ne connais pas le nom  
 
"Il n'y a pas moyen d'utiliser les caractères joker (*,?..) dans un IF exist"
Affirmation ou question ?
 
En tout cas merci

Reply

Sujets relatifs:

Leave a Replay

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