PB script .bat

Résolu/Fermé
N|c0 Messages postés 11 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 23 novembre 2010 - 20 oct. 2010 à 15:45
N|c0 Messages postés 11 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 23 novembre 2010 - 21 oct. 2010 à 16:51
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.

A voir également:

5 réponses

Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
20 oct. 2010 à 17:11
il me semble que la commande for n existe pas ...
For c est en fait un if et un goto ...
https://www.c3scripts.com/tutorials/msdos/commands.html
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
Modifié par cchristian le 20/10/2010 à 18:26
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
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
21 oct. 2010 à 09:33
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
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
21 oct. 2010 à 15:44
Bonjour,

Oui, en effet. Je n'ai pas suffisamment poussé mon raisonnement à propos des doubles %. Merci,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
N|c0 Messages postés 11 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 23 novembre 2010 1
Modifié par N|c0 le 21/10/2010 à 16:52
Ça marche du tonnerre.

Merci Dubeck et Cchristian.
0