Caractere Entree sous DOS

Bonjour,
j´essaie de remplacer dans un fichier texte la chaine de caracteres pi par le caractere "retour chariot"
je voudrais faire cette manip automatiquement avec un batch sous windows
je ne trouve pas comment definir le retour chariot (dans mon exemple j´ai essaye '\n'

Le script:
for /f "delims=" %%a in ('type "%1"') do call :commande "%%a"
goto :eof
:commande

set ligne=%1
set ligne=%ligne:pi='\n'%
set ligne=%ligne:"=%
@echo %ligne% >> Nuevo/archivo.txt

Merci pour votre aide
Configuration: Windows 2000
Internet Explorer 6.0

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. La réponse :)

    echo/
    1. @Petitspirou : tu as testé avant de dire des bêtises sur un vieux sujet ? ;)

      Aucun test réussi de mon côté. Peut-être est-ce dû au système ? Quelles sont vos configs utilisées ? Certes le sujet est vieux, mais sait-on jamais, par hasard....

      L'ensemble echo. (indiqué dans un des liens) simule bien quant à lui la touche entrée et non le caractère retour chariot.

      Exemple :
      echo.|pause
      => affiche bien une pause sur laquelle le système 'appuie' de lui-même sur la touche 'retour'.

      La solution ne doit pas être loin...
      1. suite a ton commentaire j´ai modifie le script comme suite
        Le script:
        for /f "delims=" %%a in ('type "%1"') do call :commande "%%a"
        goto :eof
        :commande

        set ligne=%1
        set ligne=%ligne:pi='\r\n'%
        set ligne=%ligne:"=%
        @echo %ligne% >> Nuevo/archivo.txt

        Le probleme est qu´il ne reconnait pas et m´affiche donc \r\n au lieu du retour chariot
        1. En fait pour tout t´avouer si lá que j´ai recupere le script.
          Mais ce satane caractere retour chariot impossible de le trouver sur le net...
          1. Contributeur
            Bonjour,

            Le retour à la ligne est composé de deux caractères : carriage return (\r) et de line feed (\n). Ça correspond aux caractères 13 et 10 (0x0D et 0x0A).
            1. Contributeur
              As-tu essayé "\r\n" à la place de '\r\n' ? Il s'agit d'une chaîne de caractères, et non d'un seul caractère.
              1. Contributeur
                Je pense avoir trouvé :
                https://www.generation-nt.com/reponses/return-dans-un-script-batch-entraide-1967251.html
                Mais je ne sais pas essayer, car je ne suis pas sous windows. Un ficjhier .txt contenant un retour chariot, et on utilise la redirection : echo < crlf.txt.
                Etrange tout de même que ce ne soit pas possible en batch. Sinon, peut-être essayer le copy con. Mes souvenirs sont loin, mais ça reviendrait si je m'y mettais.