PB script .bat

Résolu
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. Bonjour,

    Oui, en effet. Je n'ai pas suffisamment poussé mon raisonnement à propos des doubles %. Merci,
    1. Contributeur
      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
      1. 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.