Изменение строк в файле
Добрый день! Решил усложнить себе жизнь и начать оптимизировать некоторые процессы. Поэтому буду премного благодарен за ответ с комментариями, что где и почему пишем) Задача: в папке сложены Файлы 1, 2, 3... 1000. Формат txt. В этих файлах есть текст. Во всех разный. При этом есть строка (чаще первая) в которой написано «ааа_1#0», где 1 это число которое необходимо оставить, а все остальное надо (что в ковычках) надо удалить. Как это сделать через исполнительный файл, ибо файликов таких очень много??? Количество символов в ковычках всегда разное. Нужная комбинации всегда окружена _ и #
|
Nikugorsk, упаковываете несколько таких файлов в архив, который прилагаете к сообщению. Дальше смотрим.
|
Вложений: 2
Цитата:
|
Nikugorsk,
нужны файлы с разным содержимым или если знаете неплохо содержимое, есть ли в файле строка(и) с похожим содержимым кроме этой строки: 7,2 "Центр_1664#0", т.е если искать по символу _ или # или обеим или по кавычкам - гарантированно будет найдена только одна эта строка? |
И ещё, к словам коллеги: случайно ли то, что искомые цифры в файле совпадают с именем файла?
|
На WSH:
Скрытый текст
Код:
Option Explicit Исходная папка указывается аргументом скрипта (также можно просто перетащить папку на скрипт в Проводнике). Будут обработаны все *.txt файлы из указанной папки. При нахождении шаблона в содержимом текстового файла и последующей замене делается резервная копия исходного файла с расширением .bak. Согласно изложенным Вами выше правилам поиска и замены в выложенных для примера файлах произойдут следующие замены — в 1657.txt: Код:
11,2 "Центр_1657#0" Код:
11,2 "16570" Код:
7,2 "Центр_1664#0" Код:
7,2 "16640" |
Цитата:
Да, гарантированно найдётся только эта строка. По любому из 3х признаков. Цитата:
Цитата:
|
|
Цитата:
script.ps1 Код:
dir *.txt -file|%{ run.bat Код:
@echo off |
Вложений: 1
Цитата:
|
Цитата:
Код:
dir *.txt|where{!$_.psiscontainer}|%{ |
Nikugorsk, Я не проверял код от Iska, уверен, он рабочий.
Вот еще вариант исполнимого vbs-скрипта.
Код:
InBox = "Z:\Box_In" ' Папка с файлами Папку с исходными файлами можно указать явным образом в тексте скрипта, либо указать в аргументе при вызове, также можно просто перетащить папку на скрипт в Проводнике, при этом явное указание папки в коде скрипта будет проигнорировано. YuS_2, Помнится, WSH в Win XP уже был, и даже для него что-то дополнительно доустанавливать уже не нужно. |
Цитата:
Цитата:
|
Цитата:
А вообще, если будет больше вариантов решений той или иной задачи, разве это плохо? Что из этого разнообразия выбрать, решит сам ТС, да и другим, столкнувшимся с аналогичной проблемой, может пригодиться... Цитата:
|
Время: 20:03. |
Время: 20:03.
© OSzone.net 2001-