Тема: VBScript: перебор строк на совпадение
Народ, приветствую всех. Стоит такая задача. Нужен скрипт на VBS.
Есть файл email.txt вида:
[SMTP]
;------------------- SOMEBODY.COM -----------------------------
user1@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/ (доп инфо о юзере)
[b]user2@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/[/b]
user3@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
.............................................................
user997@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;------------------- DISABLED -----------------------------
;user7@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;.............................................................
;user88@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;user889@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/Функционал следующий:
На входе есть емейл пользователя в переменной, допустим, user2@email.com.
Нужно открыть файл email.txt, и, при нахождении в строке емейла юзера, нужно вырезать эту строку целиком (после емейла есть еще служебная инфо) и добавить ее целиком в конец этого же файла закомментированной в начале строки " ; ", либо если такого емейла нет — добавить его емейл в другой файл типа noemail.txt.
То есть, должно выйти вот так после запуска скрипта:
[SMTP]
;------------------- SOMEBODY.COM -----------------------------
user1@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/ (доп инфо о юзере)
user3@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
.............................................................
user997@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;------------------- DISABLED -----------------------------
;user1@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;.............................................................
;user88@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;user889@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;user2@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/В принципе не сильно сложно, но вижу проблему: если такой емейл уже есть, закомментированный типа ;user2@email.com, то он его еще раз запишет в конец типа ;;user2@email.com.
То есть, если было уже
;------------------- DISABLED -----------------------------
;user1@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;.............................................................
;user2@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;user88@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;user889@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/чтобы не получилось
;------------------- DISABLED -----------------------------
;user1@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;.............................................................
;user88@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;user889@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/
;;user2@email.com ghjghjghjhgjhgjhgnkjhgk g/hjthjt/y/hjbtjt/То есть, самый основной момент вырезать строку, чтобы на том месте не было в тексте пустой строки.
Добавить в конец с комментом, и при втором-третьем-155 запуске скрипта, чтобы он не комментировал тот же емейл несколько раз.
Ведь, если такой емейл есть, но уже закомментированный, то не нужно его еще раз комментировать, и, тем более, записывать в файл noemail.txt
То есть останавливать чтение, например, по маске ;------------------- DISABLED ----------------------------- нельзя. Надо пройти каждый раз весь файл до конца.

