Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Charger Variables .txt
Auteur Message
Répondre en citant
Message Charger Variables .txt 
Salut Smile

Depuis quelques temps je travaille sur un jeu et j'ai un petit soucis pour le chargement d'une sauvegarde.

La commande de sauvegarde :
Code:

echo %name%,%grade%,%hp%,%hpa%,%dgasmin%,%dgasmax%,%nameenchant%,%effectenchant%,%tlt%,%xp%,%maxxp%,%gold%, >> %namesavelol%.txt


Et maintenant j'aimerais savoir comment charger toutes ces informations Very Happy



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Charger Variables .txt 
Bonjour
tu es sur que tu as toutes tes variables sur une seule ligne séparé par une virgule ?

Pour les extraires il faut utiliser une boucle for

Exemple
Code:
for /f "tokens=1 delims=," %%a in ('type "%namesavelol%.txt"') do (
set name=%%a
)




Dernière édition par Laddy le Sam 6 Juil 2013 - 18:34; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Charger Variables .txt 
J'ai vérifié et oui tout est en ligne moz_smile



Répondre en citant
Message Charger Variables .txt 
J'ai mis tout ceci :

Code:
set /p namesavelol=Nom de votre sauvegarde :
pause
for /f "tokens=1 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %name%=%%a
)
for /f "tokens=2 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %grade%=%%a
)
for /f "tokens=3 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %hp%=%%a
)
for /f "tokens=4 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %hpa%=%%a
)
for /f "tokens=5 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %dgasmin%=%%a
)
for /f "tokens=6 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %dgasmax%=%%a
)
for /f "tokens=7 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %nameenchant%=%%a
)
for /f "tokens=8 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %effectenchant%=%%a
)
for /f "tokens=9 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %tlt%=%%a
)
for /f "tokens=10 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %xp%=%%a
)
for /f "tokens=11 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %maxxp%=%%a
)
for /f "tokens=12 delims=," %%a in ('type "%namesavelol%.txt"') do (
set /a %gold%=%%a
)


Et il refuse toujours de lire ce qu'il y'a dans le .txt Sad



Répondre en citant
Message Charger Variables .txt 
Pourquoi set /a %gold%=%%a ?
retire /a
tu dois mettre

echo %gold% ensuite
poste le contenu de ton txt pour voir




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Charger Variables .txt 
Le contenu de la sauvegarde :

Code:

444,Soldat,100,100,10,25,Aucun,Aucun,1,0,100,1000,0,


Le /a n'est pas fait pour des valeurs numériques ?



Répondre en citant
Message Charger Variables .txt 
si tu veux faire une operation oui mais dans ce cas c est une valeur que tu mets à une variable




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Charger Variables .txt 
Code:
set /p namesavelol=Nom de votre sauvegarde :
pause
for /f "tokens=1 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %name%=%%a
)
for /f "tokens=2 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %grade%=%%a
)
for /f "tokens=3 delims=," %%a in ('type "%namesavelol%.txt"') do (
set  %hp%=%%a
)
for /f "tokens=4 delims=," %%a in ('type "%namesavelol%.txt"') do (
set  %hpa%=%%a
)
for /f "tokens=5 delims=," %%a in ('type "%namesavelol%.txt"') do (
set  %dgasmin%=%%a
)
for /f "tokens=6 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %dgasmax%=%%a
)
for /f "tokens=7 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %nameenchant%=%%a
)
for /f "tokens=8 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %effectenchant%=%%a
)
for /f "tokens=9 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %tlt%=%%a
)
for /f "tokens=10 delims=," %%a in ('type "%namesavelol%.txt"') do (
set  %xp%=%%a
)
for /f "tokens=11 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %maxxp%=%%a
)
for /f "tokens=12 delims=," %%a in ('type "%namesavelol%.txt"') do (
set %gold%=%%a
)
echo %name%,%grade%,%hp%,%hpa%,%dgasmin%,%dgasmax%,%nameenchant%,%effectenchant%,%tlt%,%xp%,%maxxp%,%gold%
pause


A tester en une seule ligne

Code:
for /f "tokens=* delims=," %%a in ('type "%namesavelol%.txt"') do (
set %name%=%%a
set %grade%=%%b
set %hp%=%%c
set %hpa%=%%d
REM CONTINUE DE METTRE LES AUTRES %%e %%f %%g.....%%l
)
echo %name%,%grade%,%hp%,%hpa%,%dgasmin%,%dgasmax%,%nameenchant%,%effectenchant%,%tlt%,%xp%,%maxxp%,%gold%
pause





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Charger Variables .txt 
J'ai mis ceci :
Code:


for /f "tokens=* delims=," %%a in ('type "%namesavelol%.txt"') do (
set %name%=%%a
set %grade%=%%b
set %hp%=%%c
set %hpa%=%%d
set %dgasmin%=%%e
set %dgasmax%=%%f
set %nameenchant%=%%g
set %effectenchant%=%%h
set %tlt%=%%i
set %xp%=%%j
set %maxxp%=%%k
set %gold%=%%l
set %effectderegen%=%%m
)


Et ça me donne :




Répondre en citant
Message Charger Variables .txt 
arf oui j'ai pas tilté sur le moment
une faute dans les variables

Code:


@echo off
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13 delims=," %%a in ('type "%namesavelol%.txt"') do (
set name=%%a
set grade=%%b
set hp=%%c
set hpa=%%d
set dgasmin=%%e
set dgasmax=%%f
set nameenchant=%%g
set effectenchant=%%h
set tlt=%%i
set xp=%%j
set maxxp=%%k
set gold=%%l
set effectderegen=%%m
)
echo %name%,%grade%,%hp%,%hpa%,%dgasmin%,%dgasmax%,%nameenchant%,%effectenchant%,%tlt%,%xp%,%maxxp%,%gold%,%effectderegen%
pause





Dernière édition par Laddy le Dim 7 Juil 2013 - 07:00; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Charger Variables .txt 
Maintenant quand je le lance il quitte automatiquement Sad

Code:

set /p namesavelol=Nom de votre sauvegarde :
pause
for /f "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13 delims=," %%a in ('type ""%namesavelol%.txt"') do (
set name=%%a
set grade=%%b
set hp=%%c
set hpa=%%d
set dgasmin=%%e
set dgasmax=%%f
set nameenchant=%%g
set effectenchant=%%h
set tlt=%%i
set xp=%%j
set maxxp=%%k
set gold=%%l
set effectderegen=%%m
)
echo %name%,%grade%,%hp%,%hpa%,%dgasmin%,%dgasmax%,%nameenchant%,%effectenchant%,%tlt%,%xp%,%maxxp%,%gold%,%effectderegen%
pause > nul


Y'a t'il un soucis dans le code ? Very Happy



Répondre en citant
Message Charger Variables .txt 
jai testé mon code et il fonctionne
le pause sous set /p est inutile
test le code en dehors tu tiens et isole le pb




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Charger Variables .txt 
Je teste ça de suite Smile



Répondre en citant
Message Charger Variables .txt 
Il fonctionne et l'erreur est qu'il y'a un
Citation:
"
en trop dans le code Very Happy

Merci beaucoup Very Happy



Message Charger Variables .txt 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch