Rechercher le premier élément d'une ligne dans un fichier [Résolu/Fermé]

Signaler
-
 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

Messages postés
12635
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
2 juillet 2020
3 313
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65312 internautes nous ont dit merci ce mois-ci

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.
Messages postés
12635
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
2 juillet 2020
3 313 > 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
)
non c'est le contraire :), je veux enlever les lignes ne comportant pas de signe egal
Messages postés
12635
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
2 juillet 2020
3 313 > 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
)
Merci, je pense que mon sujet est résolu.