Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   заменять символы "а" на "b" (http://forum.oszone.net/showthread.php?t=177733)

egoregor 09-06-2010 10:53 1430585

заменять символы "а" на "b"
 
написать батник который будет в текстовых файлах заменять символы "а" на "b"

El Sanchez 09-06-2010 15:53 1430775

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 1431068

Вложений: 1
Вот 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 1431262

Цитата:

Цитата egoregor
в текстовых файлах заменять символы "а" на "b" »

пример с использованием FART (Find And Replace Text):
Код:

fart.exe C:\Test\*.txt "a" "b"
пример с использованием SFK (Swiss File Knife):
Код:

sfk rep -pat -case -yes /a/b/ -dir C:\Test -file *.txt
P.S. т.к. речь про "символы", выбран режим замены с учетом регистра


Время: 16:46.

Время: 16:46.
© OSzone.net 2001-