Batch : Comment modifier une chaine de texte dans ce script.

Fermé
medo - 7 sept. 2022 à 10:26
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 9 sept. 2022 à 13:53

@echo off

FOR /F "usebackq delims=" %%I IN ("%USERPROFILE%\Desktop\liste.txt") DO ( 

 SET VAR=%%I:~0,49%

 echo %VAR%

)

pause

exit /b

Bonjour à tous

j'aimerai modifier un ligne de fichier liste.txt 

je sais bien que le problème vient de ce ligne : SET VAR=%%I:~0,49%

y a t-il une autre méthode de faire ça ?

Merci

A voir également:

2 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 9 sept. 2022 à 12:48

Bonjour,

Quand tu postes du code merci d'utiliser les balises de code :

https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

-

Tu ne peux pas découper directement la variable de boucle, il faut faire comme ceci :

@echo off
setlocal enabledelayedexpansion

FOR /F "usebackq delims=" %%I IN ("%USERPROFILE%\Desktop\liste.txt") DO ( 
 SET VAR=%%I
 SET VAR=!VAR:~0,49!

 echo !VAR!

)

pause

exit


0

Merci beaucoup barnabe0057 pour votre réponse.

si je veut à chaque fois changer le numéro 49

@echo off
setlocal enabledelayedexpansion
set /p num= Entrez la longueur de la ligne 
FOR /F "usebackq delims=" %%I IN ("%USERPROFILE%\Desktop\liste.txt") DO ( 
 SET VAR=%%I
 SET VAR=!VAR:~0,%num%!

 echo !VAR!

)

pause

exit
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
9 sept. 2022 à 13:53

Oui

0