|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Удалить строки из тхт файлов, номера которых указаны в другом тхт файле |
|
Любой язык - [решено] Удалить строки из тхт файлов, номера которых указаны в другом тхт файле
|
Ветеран Сообщения: 531 |
Профиль | Отправить PM | Цитировать Здравствуйте, подскажите, пожалуйста как сделать следующую задачку:
Есть тхт файл iskl.txt, в котором прописаны номера строк (цифры), каждый номер с новой строки.. пример такого файла: Также есть два тхт файла в которых нужно удалить номера строк: fileslink.txt har.txt и еще один тхт файл imagelink.txt в котором нужно удалить две строки, для каждого номера, притом удалять нужно строки, полученные из вычисления.. номер указанный в файле iskl.txt умноженный на 2. (это одна строка на удаление) А также вышестоящую строку. (это вторая строка на удаление). К примеру для номера 3 (указанного в iskl.txt), нужно будет удалить 6ую и 5ую строку. Пример: пусть во всех трех тхт файлах будет один и тот же текст 1строка 2строка 3строка 4строка 5строка 6строка 7строка 8строка 9строка 10строка 11строка 12строка 13строка 14строка 15строка 16строка 17строка После применения скрипта, файлы fileslink.txt и har.txt, должны стать такими: 1строка 4строка 5строка 6строка 7строка 9строка 10строка 11строка 12строка 13строка 14строка 15строка 16строка 17строка Примечания: В тхт файлах может быть любой текст, а не только тот, который я написал. Не должно оставаться пустых строк. Перед удалением строки нужно учитывать оригинальные номера строк, которые были в самом начале. Т.е. НЕ должно получиться так: был файл: и номера удаления 2 и 3. сначала скрипт удалил 2ую строку, но потом не удалил 3ю строку, т.к. после удаления второй в тхт файле осталось лишь две строки и попросту скрипт не нашел третью строку. Такого быть не должно, номера строк должен учитываться из оригинального файла, который еще не отредактирован скриптом. |
|
Отправлено: 09:10, 14-02-2016 |
Ветеран Сообщения: 1754
|
|
Последний раз редактировалось Foreigner, 14-02-2016 в 10:33. Отправлено: 10:26, 14-02-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 531
|
Профиль | Отправить PM | Цитировать спасибо, работает, проверил
|
Отправлено: 10:41, 14-02-2016 | #3 |
Забанен Сообщения: 793
|
@echo off setlocal enabledelayedexpansion for /f %%i in (iskl.txt) do set "i=!i!%%i|" set "i=^^[!i:~0,-1!]" call:delStr fileslink.txt call:delStr har.txt set "a=0" for /f %%i in (iskl.txt) do ( if !a! equ 1 set "i=%%i" set /a "a+=1" ) set /a "a=!i!*2" set "i=^^[!i!-!a!]" call:delStr imagelink.txt endlocal exit /b :delStr for /f %%i in ("%1") do set "out=%%~dpni.processed%%~xi" >!out! (findstr /nirc:".*" %1 | findstr /vrc:"!i!") exit /b |
Отправлено: 10:45, 14-02-2016 | #4 |
Ветеран Сообщения: 531
|
Профиль | Отправить PM | Цитировать спасибо, бат тоже нужен, только не пойму, как он работает:
для простого примера создал файлы: fileslink.txt и har.txt такие: и imagelink.txt такой: файл iskl.txt такой: после выполнения скрипта, файлы imagelink.txt, fileslink.txt, har.txt не изменились. Также создались три файла: fileslink.processed.txt, har.processed.txt такие: а также imagelink.processed.txt такой: |
|
Отправлено: 11:21, 14-02-2016 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Заменить ссылки в одном тхт файле, взяв их из другого | Alexander_88 | Скриптовые языки администрирования Windows | 2 | 14-02-2016 09:25 | |
CMD/BAT - [решено] скопировать n последних строк одного тхт файла и вставить их в конец другого тхт файл | Alexander_88 | Скриптовые языки администрирования Windows | 2 | 23-11-2015 16:38 | |
Любой язык - [решено] заменить ссылки из одного тхт на ссылки в другом тхт | Alexander_88 | Скриптовые языки администрирования Windows | 4 | 11-10-2015 16:46 | |
CMD/BAT - поиск новой строки в тхт файле | Xeruvim4ik | Скриптовые языки администрирования Windows | 8 | 17-02-2014 00:51 | |
Любой язык - [решено] из одного тхт файла добавить содержимое во все тхт файлы папки | gangsterovich | Скриптовые языки администрирования Windows | 3 | 06-05-2011 04:29 |
|