Remplacer une chaîne de caractère en batch [Fermé]

Signaler
-
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
-
Bonjour,
Je suis sous Windows et cherche un batchfile clair et simple pour changer une chaîne de caractère par une autre dans les lignes d'un fichier texte. Il me faut absolument un batchfile, alors s'il vous plaît, oubliez VBscript, perl et compagnie. Je tourne en rond sur des forums où ils se servent de delim et d'autres commandes mais ne trouve jamais excatement ce que je veux. Vous seriez bien gentils d'envoyer le code ici. Je ne suis pas programmeur et essaies de comprendre les batch. Je lis un très bon tutoriel en ce moment mais il me faut ce batch très vite.
***Je veux par exemple que mon fichier texte source qui serait:
**************************************
***\\serveur123\usagers\usagerx\documents
***\\serveur123\usagers\usagerx\favoris
***\\serveur234\sources\montage\software
***\\serveur123\usagers\usagerx\temp
***Devienne ceci. Le batch changerait usagerx par le nom d'utilisateur du poste (%username%)
*fichier changé****************************
***\\serveur123\usagers\gira12\documents
***\\serveur123\usagers\gira12\favoris
***\\serveur234\sources\montage\software
***\\serveur123\usagers\gira12\temp

En vous remerciant 1000 fois, vous me rendriez un grand service!

3 réponses

Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 324
hello
C:> type f1.txt
***\\serveur123\usagers\usagerx\documents
***\\serveur123\usagers\usagerx\favoris
***\\serveur234\sources\montage\software
***\\serveur123\usagers\usagerx\temp

C:> aa
***\\serveur123\usagers\gira12\documents
***\\serveur123\usagers\gira12\favoris
***\\serveur234\sources\montage\software
***\\serveur123\usagers\gira12\temp

C:> type aa.bat
@echo off

setlocal enableDelayedExpansion
set username=gira12
for /f  "delims=\ tokens=1-3,4,*" %%a in ('type f1.txt') do (
set user=%%d
if "!user!" == "usagerx" (set user=%username%)
echo %%a\\%%b\%%c\!user!\%%e
)
Messages postés
3245
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
640
hum... mes excuses pour mon post inutile alors !
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
143
Pas grave... il a disparu.
Quelle veine ;-)
Bonne journée.
Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 324
autre méthode
@echo off 

setlocal enableDelayedExpansion
set user=usagerx
set username=gira12
for /f  "delims=" %%a in ('type f1.txt') do (
set x=%%a
echo !x:%user%=%username%!)