|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Невозможно выполнить замену текста в текстовом файле |
|
Любой язык - Невозможно выполнить замену текста в текстовом файле
|
Ветеран Сообщения: 784 |
Необходимо выполнить замену текста в файле с русским текстом. Для примера, необходимо цифру 1 заменить на 2. Кодировка файла - win-1251.
Вариант 1 - bat-файл: @echo off :: ----------------------------------------- ::Set verfile=php.ini ::Set tmpfile=php.ini.tmp ::Set fin=1 ::Set rep=2 :: ----------------------------------------- @ECHO OFF SETLOCAL DISABLEDELAYEDEXPANSION set INTEXTFILE=php.ini set OUTTEXTFILE=php.ini.tmp set SEARCHTEXT=1 set REPLACETEXT=2 FOR /F %%L IN (php.ini) DO ( SET "line=%%L" SETLOCAL ENABLEDELAYEDEXPANSION ECHO !line:%SEARCHTEXT%=%REPLACETEXT%!>>%OUTTEXTFILE% ENDLOCAL ) ENDLOCAL Вариант 2. Утилита FART Эта утилита ничего не находит в сабжевом файле. Находит, только если убрать русский текст. Вопрос: в Windows XP вообще возможно выполнить элементарную замену текста ? |
|
Отправлено: 23:28, 27-11-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать CyraxZ, пакетные файлы, мягко говоря, вообще не особо предназначены для операций поиска и замены текста — весьма ограниченный функционал. Но со времён Windows 98 в комплекте ОС идёт WSH — Windows Script Host, с несколькими входными языками (в комплекте идут VBScript и JScript).
Для простоты понимания идеи я не стал обременять код поддержкой параметров, разнообразными проверками и созданием резервной копии: Option Explicit Dim strSourceFile Dim strContent strSourceFile = "C:\Мои проекты\0027\php.ini" With WScript.CreateObject("Scripting.FileSystemObject") With .OpenTextFile(strSourceFile) strContent = .ReadAll() .Close End With With .CreateTextFile(strSourceFile) .Write Replace(strContent, "1", "2") .Close End With End With WScript.Quit 0 |
Отправлено: 23:43, 27-11-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 784
|
Профиль | Отправить PM | Цитировать Да. vbs работает нормально.
В общем-то, что угодно можно запрограммировать. Без всяких батников и без всяких утилит. Во как ! |
Отправлено: 01:21, 28-11-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата CyraxZ:
Цитата CyraxZ:
Цитата CyraxZ:
Цитата CyraxZ:
|
||||
Последний раз редактировалось Iska, 28-11-2016 в 03:59. Причина: Грамматика Отправлено: 02:20, 28-11-2016 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Как сделать частичную замену текста. | NikolayHAOS | Вебмастеру | 5 | 18-11-2015 09:00 | |
Ошибка - Ошибка в текстовом файле | Innuenze | Microsoft Windows 2000/XP | 2 | 11-08-2014 09:35 | |
Разное - Нужна специфическая программа по замену текста | daf010 | Программирование и базы данных | 2 | 08-03-2014 01:15 | |
VBS/WSH/JS - Поиск\редактирование строки в текстовом файле | pavvel | Скриптовые языки администрирования Windows | 2 | 11-04-2012 16:38 | |
подсчёт слов в текстовом файле | bakatum | Хочу все знать | 4 | 22-01-2010 21:10 |
|