Bonjour à tous, je recherche un moyen de rechercher et de supprimer une chaîne de caractère dans tous les fichiers ou elle sera trouver.
Quelqu’un peut m’aider ?
Bonjour à tous, je recherche un moyen de rechercher et de supprimer une chaîne de caractère dans tous les fichiers ou elle sera trouver.
Quelqu’un peut m’aider ?
Bonjour,
Le plus simple à mon goût est d'installer les "unix utils", puis de faire un script shell à base de grep ou ce genre de choses.
Il doit surement être possible de faire la même chose en batch, mais à ce moment là, le forum Developpement Windows devrait mieux répondre à ta question.
Bonjour gangsoleil et merci![]()
Je suis sous Windows, donc sa serai plus pratique avec un batch.
Je peux lancer une recherche d’une chaîne de caractères avec sa :
findstr „http://www.gruk.org/server.met.gz“
Mais je ne voie pas comment supprimer la chaîne.
Voici donc un code qui recherche la chaîne de caractères « je suis la » dans tout les fichier « ici.txt » de l’arborescence à partir du répertoire actif :
Quelqu’un saurait-il se que je peut ajouter à ce code pour qu’il supprime la chaîne de caractères « je suis la » ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part for /R %%i in (ici.txt ) do if exist "%%i" findstr "je suis la" "%%i"
Perl c'est bien pour ce genre de choses. Un peu gros à installer peut-être si on ne s'en sert pas plus que pour ça.
attention avec findstr, ne pas oublier le parametre /C si tu veut une phrase entiere et seulement la phrase entière
Envoyé par findstr /?
Bonjour Luc Hermitte et merci![]()
Si il faut installer « perl » comme vous dite sa serai un peut inutile juste pour cette commande.
Bonjour le y@m's et merci![]()
Merci pour ce rappel j’avais pas compris le truc dans l’aide sa m’évitera d’effacer un truc que je ne doit pas effacer bêtement.
Si non personne ne sait comment je peux supprimer les chaînes trouver ?
Salut,
le mieux est de recréer le fichier avec grep.
Il permet d'afficher toutes les lignes d'un fichier sauf celle que tu souhaites.
Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Grep -v chaine Fichier
Bonjour Laurent Dardenne et merci![]()
Mais « Grep » n’est pas reconnu sur mon Windows XP
Il me semble d'avoir déjà communiqué le lien sur les outils Unix portés sous Windows et cité par GangSoleil
http://unxutils.sourceforge.net/
Salut,
WinXP n'utilise-t-il pas le VB script? N'est il pas possible de creer et de gerer des expressions regulieres avec? Si oui, il n'est donc plus necessaire d'installer Perl ou bien les Unix Utils....
A.
Bonjour à tous, je viens de trouver « WOOP »:
http://www.kik-it.com/index.php?P=woop
Un complément pour DOS, cette commande permet donc de supprimer une chaîne de caractères, comme ceci elle fonctionne parfaitement sur le répertoire courant :
Cependant il me reste une lacune, j’aimerai pouvoir agir sur touts les fichiers « Desktop.ini » dans le répertoire courant puis tous ses sous répertoire, je viens d’essayer de coupler la commande « woop » avec a commande « for », selon un script qui cherche et vérifie la présence de tout les fichier « Desktop.ini » puis affiche leur contenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part WOOP "Desktop.ini" /C=[{BE098140-A513-11D0-A3A4-00C04FD706EC}] /N=[wipe]
Donc voila le couplage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part for /R %%i in (Desktop.ini) do if exist "%%i" type Desktop.ini "%%i"
Mais sa ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part for /R %%i in (Desktop.ini) do if exist "%%i" WOOP "%%i" /C=[{BE098140-A513-11D0-A3A4-00C04FD706EC}] /N=[wipe] "%%i"
Voyez vous se qui bug dans ce script ?
Supprime le second %%i, à prioris redondant.
Essaie d'appeler un sous programme interne en lui passant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if ... do call :traitement %%I ... :traitement woop %1 ...
Bonjour Laurent Dardenne et merci![]()
Donc j’ai essayer ceci :
Mais sa ne marche pas, le batch s’ouvre puis se referme aussitôt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for /R %%i in (Desktop.ini) do if exist "%%i" call :traitement "%%i" :traitement woop "%%1" /C=[{BE098140-A513-11D0-A3A4-00C04FD706EC}] /N=[wipe]
Salut,
woop ne gére pas correctement les guillemets dans le nom de fichier, tu ne dois pas les utiliser dans la ligne de commande :
Tu peux remonter l'info à l'auteur si tu le souhaites, c'est un rennais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Echo off For /R %%i in (Desktop.ini) do if exist "%%i" set File=%%i&call :traitement goto :eof :traitement woop %file% /C=[{BE098140-A513-11D0-A3A4-00C04FD706EC}] /N=[WIPE] goto %ERRORLEVEL% :1 echo erreur 1 ... No Error, Woop Wooped ... :o) goto :eof :5 echo erreur 5 ... Syntax Error or Wrong Parameter ... goto :eof :53 echo erreur 53 ... A Specified File Doesn't Exist ... goto :eof :55 echo erreur 55 ... File Already Opened ... goto :eof :68 echo erreur 68 ... Can't Create Specified File ... goto :eof :250 echo erreur 250 ... Woop String not found, nothing Wooped ... :) goto :eof :255 echo erreur 255 ... Error Somewhere ... :) goto :eof
Je viens donc d’essayer ceci :
Mais sa bug, regarder la capture:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For /R %%i in (Desktop.ini) do if exist "%%i" set File=%%i&call :traitement :traitement woop %file% /C=[{BE098140-A513-11D0-A3A4-00C04FD706EC}] /N=[WIPE]
http://pic.aceboard.net/img/5476/8954/1128177652.jpg
Essaie de spécifier le nom complet du répertoire d'accés pour woop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part C:\Tools\cmd\Woop
Encore merci mais je suis sur que sa ne viens pas de la, par ce que « woop » et appeler par une variables, et le « woop » marche très bien sans le reste.
Je me méfie des certitudes dans mes démarches de dépannage/debug mais tu fais comme tu veux.Envoyé par Furius
Essaie le code du post précédent, il manquait une instruction de fin après la boucle.
Je viens d’essayer avec le chemin complet comme ceci :
Mais s’est toujours la même erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For /R %%i in (Desktop.ini) do if exist "%%i" set File=%%i&call :traitement :traitement H:\monSystem\dos\woop %file% /C=[{BE098140-A513-11D0-A3A4-00C04FD706EC}] /N=[WIPE]
Voir la capture
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager