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

medo -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -

@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

2 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     

    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
  2. MEDO
     

    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
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       

      Oui

      0