samedi 19 juin 2010

Remplacement de chaine de caractères

voici quelques méthodes, parmis d'autres, pour remplacer une chaîne de caractères par une autre, avec un fichier batch

1-Utilisation de l'utilitaire Edlin
@echo off
REM batfile infile "search" "rep"
REM EXEMPLE: batfile test.txt a A
REM ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
set/p="1r%~2"-
copy /a -+nul>nul
set/p="%~3"--
copy /b -+-- --->nul
echo.>>---
echo>>--- w
echo>>--- 900a
echo>>--- e
type --- |>nul edlin /b %1
del - -- ---
goto:EOF



2- VBS-LIKE
@echo off
set file=a.txt
set oldstr=u
set newstr=#MAJ#

For %%A in (
  "do until Wsh.stdin.atendofstream    " 
  "  o="%oldstr%" :  n="%newstr%"      "
  "  ch=replace(wsh.stdin.readline,o,n)"
  "  Wsh.echo ch                       "
  "loop"
) do >>__.vbs echo\%%~A 
type %file% |>' cscript /nologo __.vbs && move ' %file%
del __.vbs
exit /b






Aucun commentaire: