Войти

Показать полную графическую версию : Замена текста в документе


null999
22-08-2016, 23:57
Подскажите, как поменять строку в файле, если там есть, допустим, определенное слово, пример:
словосочетание: "в лесу росли яблоки и груши"
поменять на "в лесу не растут яблоки и груши "
Можно ли как то задать что б замена происходила даже если в файле словосочетание будет "в лесу росли груши и яблоки"?

alpap
23-08-2016, 01:07
Сами посмотрите на свое условие.
Вам надо поменять (в данном случае) "росли" на "не растут", а значит надо в тексте найти строку, содержащую "росли", по типу:

type "file.txt"|find /i "росли"

потом один из вариантов, разбивать строку на токены и вместо ненужного токена вставлять свой текст, надеюсь понятно что используется временный файл для этой процедуры. Но каждый случай, иногда очень похожий, зачастую разный, это я к тому что шаблон сделать (универсальный) не получиться.

Iska
23-08-2016, 07:40
Подобные вещи нужно делать не на cmd/bat, а на WSH/PoSH, где ANSI/Unicode — нативная кодировка, есть почти полноценная поддержка регулярных выражений, и не надо извращаться при попытках замены/записи.

null999
23-08-2016, 10:15
Подобные вещи нужно делать не на cmd/bat, а на WSH/PoSH, где ANSI/Unicode — нативная кодировка, есть почти полноценная поддержка регулярных выражений, и не надо извращаться при попытках замены/запис »
power shell мне не очень подходит, может тогда есть решение хоть на vbs? или для етого нужно новую тему создать?

Iska
23-08-2016, 10:41
power shell мне не очень подходит, »
Почему? Он не работает только на Windows 2000 и ниже.

null999
24-08-2016, 00:42
Почему? Он не работает только на Windows 2000 и ниже. »
для него, если не ошибаюсь, нужно разрешение

Iska
24-08-2016, 01:12
Однократное.




© OSzone.net 2001-2012