Remplacer une chaîne de caractère en batch

Fermé
heyho - 15 nov. 2009 à 19:44
dubcek Messages postés 18546 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 septembre 2022 - 16 nov. 2009 à 12:54
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

dubcek Messages postés 18546 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 septembre 2022 5 556
16 nov. 2009 à 08:20
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
)
0
Pacorabanix Messages postés 3245 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 657
16 nov. 2009 à 11:37
hum... mes excuses pour mon post inutile alors !
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 147
16 nov. 2009 à 12:34
Pas grave... il a disparu.
Quelle veine ;-)
Bonne journée.
0
dubcek Messages postés 18546 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 septembre 2022 5 556
16 nov. 2009 à 12:54
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%!)
0