Menu

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

static - 5 juil. 2017 à 11:40 - Dernière réponse :  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.
Afficher la suite 

6 réponses

Répondre au sujet
barnabe0057 11801 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 17 février 2018 Dernière intervention - 5 juil. 2017 à 12:23
+1
Utile
5
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
)

Cette réponse vous a-t-elle aidé ?  
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.
barnabe0057 11801 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 17 février 2018 Dernière intervention > 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
)
non c'est le contraire :), je veux enlever les lignes ne comportant pas de signe egal
barnabe0057 11801 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 17 février 2018 Dernière intervention > static - 5 juil. 2017 à 14:52
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.
Commenter la réponse de barnabe0057