powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подмена символов в текстовом файле
6 сообщений из 6, страница 1 из 1
Подмена символов в текстовом файле
    #36660459
Youra Polishuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно подменить символы в текстовом файле.
Это нужно сделать скриптом, который бы запускался на любой Windows XP и т.д.
Мне нужно в текстовом файле my_example.ind2 заменить буквы следующим образом:
Ю заменить на Я
ю заменить на я
У меня скрипт не отличает регистр букв.
ю меняется на Я! Т.е. пофигу на регистр букв.
Как осуществлять замену с учетом регистра?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@echo off
chcp  1251 

for /f "delims=" %%a in ('my_example.ind2') do call :_replace "%%a"
goto eof

:_replace 
set i=%~ 1 
echo %i%
set i=%i:Ю=Я%
set i=%i:ю=я%
echo %i%>>my_example.txt
goto eof
:eof

Может можно какой-нибудь скрипт VBA запустить с помощью стандартных средств?
Извините, что не совсем по теме.
...
Рейтинг: 0 / 0
Подмена символов в текстовом файле
    #36660576
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Youra Polishuk, только для формата ASCII
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
nameFile = "C:\Temp\test.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(nameFile) Then
    Set TextStream = fso.OpenTextFile(nameFile,  1 , ,  0 )
    buf = TextStream.ReadAll()
    TextStream.Close
    Set TextStream = fso.OpenTextFile(nameFile,  2 , ,  0 )
    buf = Replace(buf, "Þ", "ß")
    buf = Replace(buf, "þ", "ÿ")
    TextStream.Write buf
    TextStream.Close
End If
можно сохранить в файл myscript.vbs, запускать в командной строке cscript.exe myscript.vbs
...
Рейтинг: 0 / 0
Подмена символов в текстовом файле
    #36660577
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
косяк...
Код: plaintext
1.
2.
    buf = Replace(buf, "Ю", "Я")
    buf = Replace(buf, "ю", "я")
...
Рейтинг: 0 / 0
Подмена символов в текстовом файле
    #36660602
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если закоментарить строку
Код: plaintext
chcp  1251 
то вроде все нормально работает
...
Рейтинг: 0 / 0
Подмена символов в текстовом файле
    #36660614
Youra Polishuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как параметр из командной строки обрабатывать?
Имя файла редактируемого через параметр передать в скрипт?
...
Рейтинг: 0 / 0
Подмена символов в текстовом файле
    #36660683
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Youra Polishuk,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
If WScript.Arguments.Length =  0  Then
    Msgbox "Файл не задан"
Else
    nameFile = WScript.Arguments.Item( 0 )
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FileExists(nameFile) Then
        Set TextStream = fso.OpenTextFile(nameFile,  1 , ,  0 )
        buf = TextStream.ReadAll()
        TextStream.Close
        Set TextStream = fso.OpenTextFile(nameFile,  2 , ,  0 )
        buf = Replace(buf, "Ю", "Я")
        buf = Replace(buf, "ю", "я")
        TextStream.Write buf
        TextStream.Close
    Else
        Msgbox "Указанный файл не существует"
    End If
End If
запускать wscript.exe myscript.vbs C:\Temp\test.txt
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подмена символов в текстовом файле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]