PB script .bat

Résolu
N|c0 Messages postés 12 Statut Membre -  
N|c0 Messages postés 12 Statut Membre -
Bonjour,

Je suis en train d'automatiser la création d'une clé WINPE 2.0 ou 3.0 avec le WAIK

dans mon script je souhaite créer automatiquement un fichier bat qui contient des variables.

EX:
Mon script de création:

echo @echo off > c:\startnet.cmd
ECHO set USBDRIVE= >> c:\startnet.cmd
ECHO if "%USBDRIVE%" == "" ( >> c:\startnet.cmd
ECHO FOR %%h IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO IF EXIST "%%h:\scripts\Lanceur.vbs" SET USBDRIVE=%%h: >> c:\startnet.cmd

ECHO ) >> c:\startnet.cmd
 


et voici le retour de mon fichier "startnet.cmd"

set usbdrive= 
if "" == "" ( 
   FOR %h IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO IF EXIST "%h:\scripts\Lanceur.vbs" SET USBDRIVE=%h: 
) 
cscript.exe //nologo \scripts\Lanceur.vbs 



Mon probleme est que je souhaite si cela est possible rediriger le text tel quel et non ma valeur.

sur ma 2ieme ligne je voudrais avoir IF "%USBDRIVE%" == au lieu de IF ""==

Est ce que quelqu'un connait une astuce?
Je précise que quand je crée mon fichier starnet.cmd à la main j'ai bien le lancement de mon script lanceur.vbs.

d'avance Merci

Si en plus quelqu'un peut me renseigné sur la différence entre = et ==.

Merci aussi.

5 réponses

  1. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    je n'ai pu m'en sortir qu'en utilisant des variables intermédiaires; zone1, 2 t 3.

    SET "zone1=%%USBDRIVE%%"
    SET "zone2=FOR %%h IN (C D E F G H I J K L M N O P Q R S T U V W X Y)"
    SET "zone3=DO (IF EXIST "%%h:\scripts\Lanceur.vbs" (SET USBDRIVE=%%h:) ) )"
    SET "nom_file=startnet.cmd"

    (
    ECHO @echo off
    ECHO set USBDRIVE=
    ECHO if "!zone1!" == "" (
    ECHO !zone2!
    ECHO !zone3!
    ) > !nom_file!

    -----------------------------------------------------------------------

    NB: ECHO if "!zone1!" == "" (
    peut se coder directement :
    ECHO if "%%USBDRIVE%%" == "" (

    Cordialement.
    Cchristian.
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    utiliser des doubles %
    echo @echo off > c:\startnet.cmd
    ECHO set USBDRIVE= >> c:\startnet.cmd
    ECHO if "%%USBDRIVE%%" == "" ( >> c:\startnet.cmd
    ECHO FOR %%%%h IN (C D E F G H I J K L M N O P Q R S T U V W X Y) DO IF EXIST "%%%%h:\scripts\Lanceur.vbs" SET USBDRIVE=%%%%h: >> c:\startnet.cmd
    
    ECHO ) >> c:\startnet.cmd
    0
  3. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Oui, en effet. Je n'ai pas suffisamment poussé mon raisonnement à propos des doubles %. Merci,
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. N|c0 Messages postés 12 Statut Membre 1
     
    Ça marche du tonnerre.

    Merci Dubeck et Cchristian.
    0