Bonjour
Je souhaite affecter le résultat d'une variable à une autre variable
d'un autre fichier .bat
Il me faudrait une commande qui ai le rôle d'un find mais en prenant
la valeur de la chaîne et non pas la chaîne elle-même.
Bonjour
Je souhaite affecter le résultat d'une variable à une autre variable
d'un autre fichier .bat
Il me faudrait une commande qui ai le rôle d'un find mais en prenant
la valeur de la chaîne et non pas la chaîne elle-même.
Bonjour
Je souhaite affecter le résultat d'une variable à une autre variable
d'un autre fichier .bat
Il me faudrait une commande qui ai le rôle d'un find mais en prenant
la valeur de la chaîne et non pas la chaîne elle-même.
Dans le message news: ,
lin kha s'est ainsi exprimé:Bonjour
Je souhaite affecter le résultat d'une variable à une autre variable
d'un autre fichier .bat
Il me faudrait une commande qui ai le rôle d'un find mais en prenant
la valeur de la chaîne et non pas la chaîne elle-même.
Explique un peu mieux ce que tu veux faire ...
Avec un exemple de préférence.
Que signifie "une autre variable d'un autre fichier .bat" ?
A priori :
set variable2=%variable1%
Où est le pb ?
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Dans le message news:2F90106D-4ECC-4CB1-B1DB-4E54A6FA39B8@microsoft.com ,
lin kha <linkha@discussions.microsoft.com> s'est ainsi exprimé:
Bonjour
Je souhaite affecter le résultat d'une variable à une autre variable
d'un autre fichier .bat
Il me faudrait une commande qui ai le rôle d'un find mais en prenant
la valeur de la chaîne et non pas la chaîne elle-même.
Explique un peu mieux ce que tu veux faire ...
Avec un exemple de préférence.
Que signifie "une autre variable d'un autre fichier .bat" ?
A priori :
set variable2=%variable1%
Où est le pb ?
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Dans le message news: ,
lin kha s'est ainsi exprimé:Bonjour
Je souhaite affecter le résultat d'une variable à une autre variable
d'un autre fichier .bat
Il me faudrait une commande qui ai le rôle d'un find mais en prenant
la valeur de la chaîne et non pas la chaîne elle-même.
Explique un peu mieux ce que tu veux faire ...
Avec un exemple de préférence.
Que signifie "une autre variable d'un autre fichier .bat" ?
A priori :
set variable2=%variable1%
Où est le pb ?
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
En fait j'ai créé une variable d'environnement à partir d'un fichier
.bat. Ensuite celui-ci appelle une requête sql avec @nom_requête.sql.
Dans ma requete, je souhaite utiliser la valeur de la variable, mais
je n'arrive pas à la récupérer (set n'est pas accepté).
En fait j'ai créé une variable d'environnement à partir d'un fichier
.bat. Ensuite celui-ci appelle une requête sql avec @nom_requête.sql.
Dans ma requete, je souhaite utiliser la valeur de la variable, mais
je n'arrive pas à la récupérer (set n'est pas accepté).
En fait j'ai créé une variable d'environnement à partir d'un fichier
.bat. Ensuite celui-ci appelle une requête sql avec @nom_requête.sql.
Dans ma requete, je souhaite utiliser la valeur de la variable, mais
je n'arrive pas à la récupérer (set n'est pas accepté).
bon bah cette fois-ci, j'espère que je vais me faire comprendre:
Voici mon fichier bat ==>
@ECHO OFF
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
if %MOIS%= set moislettre=jan-%ANNEE%
if %MOIS%= set moislettreþb-%ANNEE%
if %MOIS%= set moislettre=mar-%ANNEE%
if %MOIS%= set moislettre=apr-%ANNEE%
if %MOIS%= set moislettre=may-%ANNEE%
if %MOIS%= set moislettre=jun-%ANNEE%
if %MOIS%= set moislettre=jul-%ANNEE%
if %MOIS%= set moislettre=aug-%ANNEE%
if %MOIS%= set moislettre=sep-%ANNEE%
if %MOIS%= set moislettre=oct-%ANNEE%
if %MOIS%= set moislettre=nov-%ANNEE%
if %MOIS%= set moislettreÞc-%ANNEE%
sqlplus -s @marequete.sql
pause
Je suis obligé de fair tous ces tests if car dans ma BD, les mois sont
référencés avec les 3 premières de chaque mois.
Ensuite dans marequete.sql, je souhaite faire une simple requête du
style: SELECT *
from ma table
where mois=moislettre
Et c'est la que j'ai un problème parce que je ne sais pas comment
récupérer la valeur de "moislettre" affectée dans mon fichier.bat
bon bah cette fois-ci, j'espère que je vais me faire comprendre:
Voici mon fichier bat ==>
@ECHO OFF
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
if %MOIS%= set moislettre=jan-%ANNEE%
if %MOIS%= set moislettreþb-%ANNEE%
if %MOIS%= set moislettre=mar-%ANNEE%
if %MOIS%= set moislettre=apr-%ANNEE%
if %MOIS%= set moislettre=may-%ANNEE%
if %MOIS%= set moislettre=jun-%ANNEE%
if %MOIS%= set moislettre=jul-%ANNEE%
if %MOIS%= set moislettre=aug-%ANNEE%
if %MOIS%= set moislettre=sep-%ANNEE%
if %MOIS%= set moislettre=oct-%ANNEE%
if %MOIS%= set moislettre=nov-%ANNEE%
if %MOIS%= set moislettreÞc-%ANNEE%
sqlplus -s @marequete.sql
pause
Je suis obligé de fair tous ces tests if car dans ma BD, les mois sont
référencés avec les 3 premières de chaque mois.
Ensuite dans marequete.sql, je souhaite faire une simple requête du
style: SELECT *
from ma table
where mois=moislettre
Et c'est la que j'ai un problème parce que je ne sais pas comment
récupérer la valeur de "moislettre" affectée dans mon fichier.bat
bon bah cette fois-ci, j'espère que je vais me faire comprendre:
Voici mon fichier bat ==>
@ECHO OFF
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
if %MOIS%= set moislettre=jan-%ANNEE%
if %MOIS%= set moislettreþb-%ANNEE%
if %MOIS%= set moislettre=mar-%ANNEE%
if %MOIS%= set moislettre=apr-%ANNEE%
if %MOIS%= set moislettre=may-%ANNEE%
if %MOIS%= set moislettre=jun-%ANNEE%
if %MOIS%= set moislettre=jul-%ANNEE%
if %MOIS%= set moislettre=aug-%ANNEE%
if %MOIS%= set moislettre=sep-%ANNEE%
if %MOIS%= set moislettre=oct-%ANNEE%
if %MOIS%= set moislettre=nov-%ANNEE%
if %MOIS%= set moislettreÞc-%ANNEE%
sqlplus -s @marequete.sql
pause
Je suis obligé de fair tous ces tests if car dans ma BD, les mois sont
référencés avec les 3 premières de chaque mois.
Ensuite dans marequete.sql, je souhaite faire une simple requête du
style: SELECT *
from ma table
where mois=moislettre
Et c'est la que j'ai un problème parce que je ne sais pas comment
récupérer la valeur de "moislettre" affectée dans mon fichier.bat
Dans le message news: ,
lin kha s'est ainsi exprimé:bon bah cette fois-ci, j'espère que je vais me faire comprendre:
Voici mon fichier bat ==>
@ECHO OFF
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
if %MOIS%= set moislettre=jan-%ANNEE%
if %MOIS%= set moislettreþb-%ANNEE%
if %MOIS%= set moislettre=mar-%ANNEE%
if %MOIS%= set moislettre=apr-%ANNEE%
if %MOIS%= set moislettre=may-%ANNEE%
if %MOIS%= set moislettre=jun-%ANNEE%
if %MOIS%= set moislettre=jul-%ANNEE%
if %MOIS%= set moislettre=aug-%ANNEE%
if %MOIS%= set moislettre=sep-%ANNEE%
if %MOIS%= set moislettre=oct-%ANNEE%
if %MOIS%= set moislettre=nov-%ANNEE%
if %MOIS%= set moislettreÞc-%ANNEE%
sqlplus -s @marequete.sql
pause
Je suis obligé de fair tous ces tests if car dans ma BD, les mois sont
référencés avec les 3 premières de chaque mois.
Ensuite dans marequete.sql, je souhaite faire une simple requête du
style: SELECT *
from ma table
where mois=moislettre
Et c'est la que j'ai un problème parce que je ne sais pas comment
récupérer la valeur de "moislettre" affectée dans mon fichier.bat
ENFIN tu as daigné à exposer ton pb ! ;-)
Je commence à y voir plus clair ...
Et c'est évident à résoudre !
Vu que le contenu du fichier "marequete.sql" dépend (dynamiquement) de
l'exécution du batch principal, il FAUT et il SUFFIT de créer dynamiquement
le fichier "marequete.sql" dans le batch (logique, n'est-ce pas ?) !
...
if %MOIS%= set moislettreÞc-%ANNEE%
echo SELECT * from ma table where mois=%moislettre% > marequete.sql
sqlplus -s @marequete.sql
pause
Pas plus compliqué que çà !
_______________________
PS: pour ton info, je te rappelle qu'il existe sous NT une variable
d'environnement nommée %DATE%, qui dispense de l'exécution de la commande
"date" avec le commutateur "/T".
De plus, la commande SET permet d'extraire des sous-chaines sans avoir à
passer par une boucle FOR.
Jusqu'à Windows 2000 :
Set mois=%date:~8,2%
Set annee=%date:~11,4%
A partir de Windows XP :
Set mois=%date:~3,2%
Set annee=%date:~6,4%
(la différence vient du fait que le jour de la semaine était indiqué en tête
sous NT4 et W2K)
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Dans le message news:0F64E4D9-F01E-4282-8BC0-A957599DB69C@microsoft.com ,
lin kha <linkha@discussions.microsoft.com> s'est ainsi exprimé:
bon bah cette fois-ci, j'espère que je vais me faire comprendre:
Voici mon fichier bat ==>
@ECHO OFF
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
if %MOIS%= set moislettre=jan-%ANNEE%
if %MOIS%= set moislettreþb-%ANNEE%
if %MOIS%= set moislettre=mar-%ANNEE%
if %MOIS%= set moislettre=apr-%ANNEE%
if %MOIS%= set moislettre=may-%ANNEE%
if %MOIS%= set moislettre=jun-%ANNEE%
if %MOIS%= set moislettre=jul-%ANNEE%
if %MOIS%= set moislettre=aug-%ANNEE%
if %MOIS%= set moislettre=sep-%ANNEE%
if %MOIS%= set moislettre=oct-%ANNEE%
if %MOIS%= set moislettre=nov-%ANNEE%
if %MOIS%= set moislettreÞc-%ANNEE%
sqlplus -s @marequete.sql
pause
Je suis obligé de fair tous ces tests if car dans ma BD, les mois sont
référencés avec les 3 premières de chaque mois.
Ensuite dans marequete.sql, je souhaite faire une simple requête du
style: SELECT *
from ma table
where mois=moislettre
Et c'est la que j'ai un problème parce que je ne sais pas comment
récupérer la valeur de "moislettre" affectée dans mon fichier.bat
ENFIN tu as daigné à exposer ton pb ! ;-)
Je commence à y voir plus clair ...
Et c'est évident à résoudre !
Vu que le contenu du fichier "marequete.sql" dépend (dynamiquement) de
l'exécution du batch principal, il FAUT et il SUFFIT de créer dynamiquement
le fichier "marequete.sql" dans le batch (logique, n'est-ce pas ?) !
...
if %MOIS%= set moislettreÞc-%ANNEE%
echo SELECT * from ma table where mois=%moislettre% > marequete.sql
sqlplus -s @marequete.sql
pause
Pas plus compliqué que çà !
_______________________
PS: pour ton info, je te rappelle qu'il existe sous NT une variable
d'environnement nommée %DATE%, qui dispense de l'exécution de la commande
"date" avec le commutateur "/T".
De plus, la commande SET permet d'extraire des sous-chaines sans avoir à
passer par une boucle FOR.
Jusqu'à Windows 2000 :
Set mois=%date:~8,2%
Set annee=%date:~11,4%
A partir de Windows XP :
Set mois=%date:~3,2%
Set annee=%date:~6,4%
(la différence vient du fait que le jour de la semaine était indiqué en tête
sous NT4 et W2K)
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Dans le message news: ,
lin kha s'est ainsi exprimé:bon bah cette fois-ci, j'espère que je vais me faire comprendre:
Voici mon fichier bat ==>
@ECHO OFF
for /F "tokens=3 delims=/, " %%i in ('date /T') do set MOIS=%%i
for /F "tokens=4 delims=/, " %%i in ('date /T') do set ANNEE=%%i
if %MOIS%= set moislettre=jan-%ANNEE%
if %MOIS%= set moislettreþb-%ANNEE%
if %MOIS%= set moislettre=mar-%ANNEE%
if %MOIS%= set moislettre=apr-%ANNEE%
if %MOIS%= set moislettre=may-%ANNEE%
if %MOIS%= set moislettre=jun-%ANNEE%
if %MOIS%= set moislettre=jul-%ANNEE%
if %MOIS%= set moislettre=aug-%ANNEE%
if %MOIS%= set moislettre=sep-%ANNEE%
if %MOIS%= set moislettre=oct-%ANNEE%
if %MOIS%= set moislettre=nov-%ANNEE%
if %MOIS%= set moislettreÞc-%ANNEE%
sqlplus -s @marequete.sql
pause
Je suis obligé de fair tous ces tests if car dans ma BD, les mois sont
référencés avec les 3 premières de chaque mois.
Ensuite dans marequete.sql, je souhaite faire une simple requête du
style: SELECT *
from ma table
where mois=moislettre
Et c'est la que j'ai un problème parce que je ne sais pas comment
récupérer la valeur de "moislettre" affectée dans mon fichier.bat
ENFIN tu as daigné à exposer ton pb ! ;-)
Je commence à y voir plus clair ...
Et c'est évident à résoudre !
Vu que le contenu du fichier "marequete.sql" dépend (dynamiquement) de
l'exécution du batch principal, il FAUT et il SUFFIT de créer dynamiquement
le fichier "marequete.sql" dans le batch (logique, n'est-ce pas ?) !
...
if %MOIS%= set moislettreÞc-%ANNEE%
echo SELECT * from ma table where mois=%moislettre% > marequete.sql
sqlplus -s @marequete.sql
pause
Pas plus compliqué que çà !
_______________________
PS: pour ton info, je te rappelle qu'il existe sous NT une variable
d'environnement nommée %DATE%, qui dispense de l'exécution de la commande
"date" avec le commutateur "/T".
De plus, la commande SET permet d'extraire des sous-chaines sans avoir à
passer par une boucle FOR.
Jusqu'à Windows 2000 :
Set mois=%date:~8,2%
Set annee=%date:~11,4%
A partir de Windows XP :
Set mois=%date:~3,2%
Set annee=%date:~6,4%
(la différence vient du fait que le jour de la semaine était indiqué en tête
sous NT4 et W2K)
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*