Rechercher le premier élément d'une ligne dans un fichier

Résolu
static -  
 static -
Bonjour,

Mon problème est le suivant j'aimerais dans un premier temps, copier tous les éléments du fichier "catalina.properties" dans "installation.properties", ensuite n'ajouter "catalina.properties." que devant chacune des lignes ne commençant pas par "#" (vous avez compris les lignes non commenté). la copie marche, mais c'est tout.

@echo off
setLocal EnableDelayedExpansion

for /f "tokens=* delims= " %%a in (C:\Users\ctegue\Downloads\ROOT\tomcat\catalina.properties) do (
set /a N+=1
set debut= find /b "#" C:\Users\ctegue\Downloads\ROOT\tomcat\catalina.properties
if %/a% NEQ %debut%
echo catalina.properties.%%a>>C:\Users\ctegue\Documents\installation.properties
)

tout en vous remerciant pour votre aide.

1 réponse

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

    En modifiant légèrement le FOR ça devrait le faire :

    @echo off

    for /f "eol=# tokens=* delims=" %%a in (C:\Users\ctegue\Downloads\ROOT\tomcat\catalina.properties) do (
    echo catalina.properties.%%a>>C:\Users\ctegue\Documents\installation.properties
    )

    1
    1. static
       
      Merci sa m'aide beaucoup, bien que je ne voulais pas forcement supprimer les lignes commenté, tant mieux.
      J'avais si tu le permet une autre question, je me rend compte que dans mon fichier j'ai aussi des lignes ne comportant pas le signe '=' j'aimerais aussi tout comme tout a l'heure avec '#' mais cette fois si pas seulement au début ne pas prendre en compte.
      Merci.
      0
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 929 > static
         
        Je n'ai pas bien compris si tu veux garder ou enlever les lignes comportant le signe égal, voilà pour les supprimer :

        @echo off

        for /f "eol=# tokens=* delims=" %%a in (C:\Users\ctegue\Downloads\ROOT\tomcat\catalina.properties) do (
        echo catalina.properties.%%a | find /v "=" >>C:\Users\ctegue\Documents\installation.properties
        )
        0
    2. static
       
      non c'est le contraire :), je veux enlever les lignes ne comportant pas de signe egal
      0
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 929 > static
         
        Ok, voilà :

        @echo off

        for /f "eol=# tokens=* delims=" %%a in (C:\Users\ctegue\Downloads\ROOT\tomcat\catalina.properties) do (
        echo catalina.properties.%%a | findstr "=" >>C:\Users\ctegue\Documents\installation.properties
        )
        0
    3. static
       
      Merci, je pense que mon sujet est résolu.
      0