![]() |
Поиск замена текста
гм неполистал форум прошу прощения на следующей страницы похожая тема. если не выйдет. отпишу нижу
|
Код:
Set infile=1.txt |
добрый день!
у меня похожая задача только нужно заменить в исходном файле 1.тхт все буквы а на буквы о извините заранее в этой области я новичок форум классный! всем удачи |
так и заменяйте
Код:
Set find=a |
спасибо! работает!
|
а как пользоваться этим скриптом скажите плииз :help:
|
Цитата:
|
здравствуйте, а как сделать, чтоб изменился текст в файле и пересохранился этот файл, сейчас скрипт делает копию.
|
Решение, но на VBS
Есть скрипт, чужой, для поиска и замены, правда на VBS для TotalCommander.
Код:
' |
Цитата:
|
помогите, пожалуйста решить этот вопрос
http://forum.oszone.net/post-2782789.html#post2782789 спасибо |
Что-то пошло не так. Нужно в текстовом файле найти текст "ПоказательТипа=0" и заменить его на "ПоказательТипа=", но после выполнения скрипта
Код:
Set infile=1.txt |
Код:
@Echo Off Чтобы решить задачу для конкретного построения файла средствами CMD прикрепите к сообщению Ваш файл 1.txt, надо понимать, например, текст "ПоказательТипа=0" единственный в строке или он внутри другого текста, есть ли другие строки, содержащие =, есть ли строки без = |
Вложений: 1
Цитата:
Цитата:
|
UncleD, Основываясь на Вашем файле, задачу формулирую так:
Есть текстовый файл без пустых строк в 1251 (Windows) кодировке. Надо заменить в файле строку с указанным текстом на другую. Код:
@Echo Off Код:
@Echo Off Постскриптум: Обнаружил, что первый скрипт из приведенных (чистый CMD) Вам не годится из-за наличия в тексте служебных для CMD символов. Например: в 80 строке пропадает %. Какие еще извращения возможны- не берусь судить, поэтому наилучший вариант Скрипт.VBS Код:
FileIn = "Z:\Где файл\11.txt" |
megaloman, спасибо, все сработало.
В итоге воспользовался вторым вариантом, то есть этим: Код:
@Echo Off Еще нашел в сети vbs, через который вызываю свой батник, а он прячет окно командной строки, ну просто чтобы не пугать пользователя регулярно выскакивающими непонятками, хотя решение и не очень элегантное. Код:
Set WshShell = CreateObject("WScript.Shell") Еще раз благодарю. |
UncleD, нормальные герои всегда идут в обход? :lol: Почему сразу не запускать vbs-вариант?
|
Цитата:
|
Цитата:
|
UncleD, откуда берётся имя файла? И в чём затруднение вставить vbs скрипт в планировщик, вроде Вы это можете?
Вот доработка vbs-скрипта c целью исключения перезаписи входного файла в случае, если строка для замены не найдена (то есть, на практике, ранее эта замена уже планировщиком была сделана) Код:
FileIn = "Z:\Где файл\11.txt" |
Цитата:
Цитата:
|
Цитата:
У Вас: vbs-скрипт скрывает батник, который вызывает VBS-скрипт. Тихо шифером шурша .... Посмотрите предыдущий пост, я немного изменил скрипт. А еще нормальнее, разобраться с формированием файла, чтобы его не корректировать. |
megaloman, здравствуйте
Пожалуйста, помогите ДОработать Ваш отличный скрипт http://forum.oszone.net/post-2880574-20.html Код:
FileIn = "Z:\Где файл\11.txt" На входе, лично в моем случае, может быть ПоказательТипа=0 ПоказательТипа=1 ПоказательТипа=3 ПоказательТипа=4 ПоказательТипа=5 ... то есть после равно может быть любая цифра, хоть 0, хоть 987654321 Как сделать по умному, чтобы на выходе было ПоказательТипа=2 Момент №2 В файле FileIn = "Z:\Где файл\11.txt" параметр ПоказательТипа=2 может быть в двух местах Код:
... А секцию [messageWindow] НЕ трогать |
Код:
FileIn = "Z:\Где файл\1c_to_kl.txt" |
megaloman
Здравствуйте Отлично, класс.. Но возникла бяка - каждый раз при запуске скрипта файл сохраняется заново, даже если в секции [mediaInfo], ПоказательТипа=2 Можете, пожалуйста, сделать как здесь http://forum.oszone.net/post-2880574-20.html Вот доработка vbs-скрипта c целью исключения перезаписи входного файла в случае, если строка для замены не найдена (то есть, на практике, ранее эта замена уже планировщиком была сделана) Если по проще: если в файле, в секции [mediaInfo], ПоказательТипа=2 - то ничего НЕ делать, не сохранять файл, просто закрыть файл если в файле, в секции [mediaInfo], ПоказательТипа= НЕ РАВНО 2 - то делать замену и сохранять файл |
Код:
FileIn = "Z:\Где файл\1c_to_kl.txt" |
megaloman
Здравствуйте 1) Класс, отлично Теперь запустил один раз Ваш скрипт - в файле, в секции [mediaInfo], было ПоказательТипа=0, стало ПоказательТипа=2 Появилась табличка "был изменен" Потом сколько раз я НЕ запускал Ваш скрипт - файл НЕ записывался и НЕ сохранялся заново Мини пожелание - а нельзя добавить табличку "НЕ был изменен"? Типа, потом, сколько раз я не буду запускать Ваш скрипт - я каждый раз буду видеть табличку "НЕ был изменен" 2) Цитата: Я неточно представляю задачу, поэтому предполагаю, что секций, где надо менять данные, несколько (имена задаются в массиве Section), а также в каждой секции ПоказательТипа может встречаться не один раз. Приношу Вам мои извинения, пусть будет так, для меня работает и работает А так, повторюсь: есть файл, в файле 52 секции Код:
... Код:
ПоказательТипа={тут всякие цифры} 1) 1на строка в секции [messageWindow] 2) 1на строка в секции [mediaInfo] Больше в файле в остальных 50 секциях параметра Код:
ПоказательТипа={тут всякие цифры} |
Msgbox я оставил случайно, для отладки. для планировщика это не годится. Как вариант
Код:
FileIn = "Z:\Где файл\1c_to_kl.txt" |
megaloman
Здравствуйте Пожалуйста, будьте так, любезны, научите, а как увидеть выхлоп Вашего скрипта? Мол, когда изменился - увидеть строку, окно "был изменен" Мол, когда изменений нет - увидеть строку, окно "не изменялся" Банальный запуск vbs скрипта - ничего не появляется, ни "был изменен", ни "не изменялся" |
SharkyEXE, У меня работает. Но я запускаю скрипт без планировщика от своего имени. Возможно, сто лет тому назад я делал какие-то настройки.
Попробуйте почитать.. Попробуйте вместо " * " написать " имяпользователя " имяпользователя можно увидеть, запустив в командном окне Echo %Username% |
megaloman
Здравствуйте Я многократно извиняюсь 1) Есть файл 1.vbs, внутри файла 1.vbs код отсюда http://forum.oszone.net/post-3013706-28.html Код:
FileIn = "Z:\Где файл\1c_to_kl.txt" 1) создать файл 1.cmd, внутри файла 1.cmd прописать команду Код:
@Echo Off Так нормально или так не нормально? |
Если нужен log-файл, все равно
Код:
........... Насчет выхлопа, попробуйте в командном окне исполнить команды Msg * kuku Msg %Username% kuku Как насчет выхлопа? |
Время: 02:23. |
Время: 02:23.
© OSzone.net 2001-