Page 1 sur 1

[Résolu] - Problème variables

Posté : 10 oct. 2008 15:36
par SiSMik
Bonjour,
Ceci est mon premier post sur ce site, bien qu'il m'ait été extrêmement utile par le passé, la je bloque sur une variable, cela ne doit pas être grande chose, mais bon...
En gros j'ai un fichier GRADES composé de plusieurs lignes, j'arrive à récupérer toutes les lignes, mais ce que je voudrais faire, c'est récupérer les 4 premiers caractères de chaque lignes afin de générer ma requête sql.

Code : Tout sélectionner

FOR /f %%j IN (GRADES) DO ( 
echo %%j 
set VAR=%%J
SET GRADE=%VAR:~0,4%
ECHO update tgrade set DATMODIF = SYSDATE, ETAT = 'M' WHERE ID_GRADE = %GRADE% >> temp.sql
)
pause
le me renvoit bien ma ligne, mais par contre

Code : Tout sélectionner

SET GRADE=%VAR:~0,4%
ne fonctionne pas et me retourne

Code : Tout sélectionner

:~0,4
mais je bloque à ce niveau là...

Si il y a une âme charitable pour me sortir de la merde dans laquelle je suis...

Merci
Fabien


EIDT: C'est bon j'ai trouvé

Code : Tout sélectionner

@echo off
setlocal EnableDelayedExpansion
set grade=
for /f %%i IN (GRADES) do ( 
set grade=%%i
echo  UPDATE TGRADETS SET DATMODIF = SYSDATE, ETAT = 'M' WHERE ID_GRAETS = '!grade:~0,4!'; >> sql.sql
)
pause
Merci flox pour l'astuce du DelayeExpansion :)

Re: [Résolu] - Problème variables

Posté : 10 oct. 2008 18:25
par flox
c'est toujours utile @ + sur le forum