|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Массивы |
|
CMD/BAT - [решено] Массивы
|
Пользователь Сообщения: 55 |
Доброго времени суток. Как можно реализовать след. алгоритм работы скрипта:
Чтение строк из "in1.txt", сравнение с частью каждой строки до разделителя файла "db.txt", который представляет из себя два столбца с разделителями (наверное проще будет разделить файл db.txt на два файла и проводить ассоциацию от номеров строк); если строка из "in1.txt" совпадает с частью строки до разделителя из файла "db.txt", то часть этой строки ПОСЛЕ разделителя (или строка с тем же номером второй части файла db.txt, если его делить) записывается в переменную, после чего к ней применяется действие. Набрел на эту тему, но примеров для себя я не увидел. |
|
Отправлено: 01:34, 05-03-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать DOCznet, для начала упакуйте файлы «in1.txt» и «db.txt» в архив, который приложите к сообщению. Затем попробуйте более внятно, возможно, с примерами, описать, что нужно получить.
|
Отправлено: 02:17, 05-03-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 55
|
Профиль | Отправить PM | Цитировать Ок:
В одном активно использующемся батнике есть строчка: powershell "Get-WmiObject -Class Win32_Printer -ComputerName localhost | select name | out-file -encoding default "Q:\%USERNAME%\printer$.txt"" Файл db.txt - таблица соответствий принтеров - только названия: первая колонка - имена принтеров старого принт-сервера, вторая колонка - имена принтеро нового принт-сервера, именуемые иначе, но физически являющиеся теми же самыми устройствами. Каждую строчку из вводных данных (in1.txt) мы сравниваем с каждой строкой из первой колонки файла соответствий и при совпадении мы записываем в переменную значение второй колонки из той же строки, в которой произошло совпадение со значением из первой колонки, и выполняем действие при каждом совпадении: explorer.exe "\\print-server.corp.ru\%var%" То что существуют политики, подключающие принтеры пользователям - знаем, просто на том уровне на котором мне приходится выполнять свою часть задач - до функционала GPO мне не дотянуться. |
Отправлено: 10:01, 05-03-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 10:05, 05-03-2014 | #4 |
Пользователь Сообщения: 55
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 10:29, 05-03-2014 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать DOCznet, почему в «db.txt» наличествуют дубликаты по первому полю, конкретно — «HP4015_OKO2»?
Пример кода на PowerShell: |
Отправлено: 11:49, 05-03-2014 | #6 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:43, 05-03-2014 | #7 |
Пользователь Сообщения: 55
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
О.о Элегантно! Не ожидал, что в одну строчку уложится решение, спасибо! ![]() Еще вопрос - некоторые принтеры в именах содержат пробелы (в первой колонке db.txt), можно как-то сделать, что бы они не считались за разделитель? Конечно не критично, т.к. таких принтеров по пальцам пересчитать. Пробовал не вышло. Цитата Iska:
|
||
Отправлено: 14:37, 05-03-2014 | #8 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата DOCznet:
А так: ??? |
|
Отправлено: 15:13, 05-03-2014 | #9 |
Пользователь Сообщения: 55
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
То что надо. Еще раз большое спасибо! |
|
Отправлено: 15:58, 05-03-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - raid массивы | popsov | Microsoft Windows 7 | 1 | 24-08-2011 19:36 | |
C/C++ - Массивы | SarGon4eg | Программирование и базы данных | 4 | 16-02-2011 18:39 | |
C/C++ - Массивы | SS3 | Программирование и базы данных | 3 | 29-04-2009 21:47 | |
Массивы в С++ | Guest | Программирование и базы данных | 2 | 27-09-2004 10:12 | |
C++ и массивы ? | IG | Программирование и базы данных | 9 | 09-06-2003 09:33 |
|