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

Résolu/Fermé
static - Modifié le 5 juil. 2017 à 11:42
 static - 5 juil. 2017 à 14:57
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.
A voir également:

1 réponse

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
5 juil. 2017 à 12:23
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
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
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > static
5 juil. 2017 à 14:43
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
non c'est le contraire :), je veux enlever les lignes ne comportant pas de signe egal
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > static
Modifié le 5 juil. 2017 à 14:53
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
Merci, je pense que mon sujet est résolu.
0