Войти

Показать полную графическую версию : заменять символы "а" на "b"


egoregor
09-06-2010, 10:53
написать батник который будет в текстовых файлах заменять символы "а" на "b"

El Sanchez
09-06-2010, 15:53
egoregor,


@Echo Off
Set Source=C:\Temp
SetLocal EnableDelayedExpansion

For %%A In ("%Source%\*.txt") Do (
For /F "Tokens=1* Delims=:" %%B In ('Type "%%A"^|Findstr /IN "$"') Do (
Set Str=%%C
If "!Str!"=="" (
Echo.>>"%%A_tmp"
) Else (
Set Str=!Str:a=b!
Echo !Str!>>"%%A_tmp"
)
)
Move /Y "%%A_tmp" "%%~fA"
)
EndLocal

megaloman
09-06-2010, 23:08
Вот VBS-скрипт. Сохраните его в файл, например, rep_in_file.vbs
Из командной строки его можно запустить как
rep_in_file.vbs "Имя файла с путём" "Что ищем" "На что меняем"

Set WA = WScript.Arguments
na = WA.Count

If na < 3 Then
MsgBox "Недостаточное количество аргументов", vbOKOnly, "Ошибка при вызове функции"
Else
Filename = WA(0)
SFin = WA(1)
SRep = WA(2)
Call RepInFile(Filename, SFin, SRep)
End If

' ------------------------------------------------------
Sub RepInFile(F_n, S_f, S_r)
Set FSO = CreateObject("Scripting.FileSystemObject")

On Error Resume Next
Set F = FSO.OpenTextFile(F_n, 1, False)

If Err.Number = 0 Then
S = F.ReadAll
F.Close
S = Replace(S, S_f, S_r)

On Error GoTo 0

Set F = FSO.OpenTextFile(F_n, 2, True)
F.Write S
F.Close
Else
MsgBox "Файл " + F_n + vbCrLf + Err.Description, vbOKOnly, "Ошибка при открытии файла"
End If

End Sub

amel27
10-06-2010, 08:50
в текстовых файлах заменять символы "а" на "b" »
пример с использованием FART (http://fart-it.sourceforge.net/) (Find And Replace Text):
fart.exe C:\Test\*.txt "a" "b"
пример с использованием SFK (http://swissfileknife.sourceforge.net/) (Swiss File Knife):
sfk rep -pat -case -yes /a/b/ -dir C:\Test -file *.txt

P.S. т.к. речь про "символы", выбран режим замены с учетом регистра




© OSzone.net 2001-2012