![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Замена символа в строках имеющих определенное начало |
|
CMD/BAT - [решено] Замена символа в строках имеющих определенное начало
|
Новый участник Сообщения: 30 |
Добрый день,
Есть файл в котором несколько раз встречаются строки начало которых: "НазначениеПлатежа=", нужно в идущих далее данных заменить знак "=" на какой-то другой, например на ":", но только в этой строке, естественно. Т. е. изначальная строка: НазначениеПлатежа=Оплата на сумму=10 рублей. Должна получить вид: НазначениеПлатежа=Оплата на сумму:10 рублей. |
|
Отправлено: 14:18, 26-12-2018 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Не стоит это делать батником.
|
Отправлено: 15:33, 26-12-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать TRaMeLL, нужен образец файла (нужно знать кодировку, наличие BOM, вид концов строк). Упакуйте его в архив и приложите к сообщению.
|
Отправлено: 16:54, 26-12-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать TRaMeLL, вообще, по-хорошему, нужно обработку импорта в 1С править, дабы она не спотыкалась на втором знаке равенства в строке.
Попробуйте так (на WSH): Скрытый текст
Option Explicit Dim strSourceFile Dim objFSO Dim strContent If WScript.Arguments.Count = 1 Then Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") strSourceFile = objFSO.GetAbsolutePathName(WScript.Arguments.Item(0)) If objFSO.FileExists(strSourceFile) Then With objFSO.OpenTextFile(strSourceFile) strContent = .ReadAll() .Close End With With WScript.CreateObject("VBScript.RegExp") .Pattern = "(^НазначениеПлатежа=.+?)=(.+$)" .Global = True .MultiLine = True If .Test(strContent) Then strContent = .Replace(strContent, "$1:$2") objFSO.CopyFile strSourceFile, strSourceFile & ".bak", True With objFSO.CreateTextFile(strSourceFile, True) .Write strContent .Close End With Else WScript.Echo "Nothing found." End If End With Else WScript.Echo "Can't find source file [" & strSourceFile & "]." WScript.Quit 2 End If Set objFSO = Nothing Else WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>" WScript.Quit 1 End If WScript.Quit 0 Путь к исходному файлу указывается аргументом скрипта (также можно просто перетащить исходный файл на скрипт/ярлык на скрипт в Проводнике). Делать специальную проверку, что имя переданного файла имеет строго заданный вид «kl_to_1c.txt» — не стал (если нужно — сделаем). |
Отправлено: 21:02, 26-12-2018 | #4 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Iska, говорит "Nothing found."
|
|
Отправлено: 21:41, 26-12-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Хмм… Даже не знаю, что сказать:
Скрытый текст
![]() ![]() На всякий случай — в какой кодировке сохранили скрипт? |
Отправлено: 22:03, 26-12-2018 | #6 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 23:41, 26-12-2018 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Групповая замена символа в именах файлов | fullstopru | Скриптовые языки администрирования Windows | 14 | 26-07-2018 13:47 | |
CMD/BAT - [решено] Запуск .bat определенное количество раз и определенное количество дней | 55kadi | Скриптовые языки администрирования Windows | 24 | 25-10-2016 07:06 | |
CMD/BAT - [решено] Замена после символа, вставка перед символом | AlexVong | Скриптовые языки администрирования Windows | 4 | 05-08-2012 13:31 | |
[решено] Замена символа в строке, по номеру [PERL] | WestBronx | Вебмастеру | 1 | 22-03-2008 14:31 | |
замена символа в тексте (PHP) | Casufi | Вебмастеру | 3 | 11-04-2003 11:07 |
|