Tempo entre 2 instructions

Résolu
inoxj1 Messages postés 13 Statut Membre -  
 LUDO -
Bonjour,

Je suis sur WIN7 64bit et je veux faire un script d'installation silencieuse d'oracle, le script d'installet deja fait :

echo off

echo *********************************************************************
echo * *
echo * INSTALLATION DU CLIENT ORACLE 10g *
echo * *
echo * Veuillez patienter... *
echo * *
echo *********************************************************************
echo.
\\srv-parc\Public\Applications\Oracle_Client_10g\Sources\setup.exe -silent -responseFile \\srv-parc\Public\Applications\Oracle_Client_10g\Automatisation\clientcustom.rsp
cls

mkdir C:\oracle\product\10.2.0\client_4\network\ADMIN
COPY /Y \\srv-parc\Public\Applications\Oracle\Oracle_Client_10g\Sources\tnsnames.ora C:\oracle\product\10.2.0\client_4\NETWORK\ADMIN

exit

Cependant durant l'instalation on m'affiche une erreur du au fait que pour s'installer, le dossier d'instalation doit etre vide or le mkdir creer un dossier.

Ce que je voudrais c'est faire en sorte que mkdir ne creer un dossier qu'apres que l'installation d'oracle soit fini.

Je pourrais faire une tempo mais suivant le pc et suivant le temp d'installation, cette methode reste trop approximative.

Je voudrais savoir s'il est possible de poser des condition de lancement d'une instruction Par exemple avec des if else ou des boucles

3 réponses

  1. Pierrot6150 Messages postés 3186 Statut Membre 561
     
    Pour moi, le problème ce situe au niveau setup.exe

    Le batch n'attend pas.
    Le setup s'exécute... et pendant ce temps le batch continue le reste des commandes

    * Jamais fait avec un serveur, voir si cela est OK (accepter)
    Dans ton batch...
    \\srv-parc\Public\Applications\Oracle_Client_10g\Sources\start "" /WAIT setup.exe -silent -responseFile \\srv-parc\Public\Applications\Oracle_Client_10g\Automatisation\clientcustom.rsp

    Tant que cette application n'est pas terminer, le batch est suspendu.
    0
  2. inoxj1 Messages postés 13 Statut Membre
     
    J'ai essayer start /wait mais cela ne marche toujours j'ai donc decider de faire 2 fichier bat pour l'installation. En faisant un choix demandant a l'utilisateur de lancer le 2e bat lorsque l'installe est fini. Mais j'ai un probleme quand je lance le premiere .bat celui poster plus haut , sur mon ecran il y a 2 fenetre de msdos. La premiere affichant :

    echo off

    echo *********************************************************************
    echo * *
    echo * INSTALLATION DU CLIENT ORACLE 10g *
    echo * *
    echo * Veuillez patienter... *
    echo * *
    echo *********************************************************************
    echo.

    et la deuxieme affichant l'installation.

    Cependant la premiere fenetre ce ferme pendant l'instalation. Ce qui m'empeche de pouvoir faire le choix pour valider le lancement du 2e bat.
    0
    1. Pierrot6150 Messages postés 3186 Statut Membre 561
       
      @echo off
      ...
      ...
      ..
      rem Appeler le batch n°2
      ..
      ..
      rem fin de ton batch
      pause
      0
  3. LUDO
     
    salut,

    moi je ferai une vérification au niveau du processus. Lorque l'install d'oracle se fait, un processus (peut etre il s'appelle "oracle.exe") se créé. Il doit disparaitre apres l'installation. Il te suffit de vérifier ça et de mettre une condition:

    echo off
    echo *********************************************************************
    echo * *
    echo * INSTALLATION DU CLIENT ORACLE 10g *
    echo * *
    echo * Veuillez patienter... *
    echo * *
    echo *********************************************************************
    echo.
    \\srv-parc\Public\Applications\Oracle_Client_10g\Sources\setup.exe -silent -responseFile \\srv-parc\Public\Applications\Oracle_Client_10g\Automatisation\clientcustom.rsp
    cls
    :test
    tasklist | find "oracle.exe"
    if %errorlevel% GTR 0 (
    mkdir C:\oracle\product\10.2.0\client_4\network\ADMIN
    COPY /Y \\srv-parc\Public\Applications\Oracle\Oracle_Client_10g\Sources\tnsnames.ora C:\oracle\product\10.2.0\client_4\NETWORK\ADMIN
    ) else (
    goto test
    )
    exit
    0