locky
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Хе... Желающих прибыло :) Си и проч. в данном случае - это "от глюкавого". Hint. Перед прочтением того что ниже - полистайте виндовый хелп по ком сторке и ветку автоматизация администрирования. FOR, FORFILES и всякие "Using batch parameters" Задача - имеем файл "mac.csv" со следующим содержимым Код: IP, MAC, HOST, Desc 192.168.93.93,0010DC63A1E1,DNT,"no Description" 192.168.60.1,0004769AB973,FIRE,"типа шлюз..." 192.168.92.151,0050FC6AD8E9,KOLESNIK_VV,"BigBoss" 192.168.93.77,0010DC63A0AB,NAU,"Главный раздолбай" 192.168.0.111,0010DC63A055,ORLOV,"skip" 192.168.91.83,0050FC61D62D,VOCHENKOVA 192.168.32.120,00025511A682,EUGRECHISHKINA,"Экономист Инструментального цеха" 192.168.32.131,000C763A8693,MERKUSHEVA,"Начальник Инструментального цеха" 192.168.32.119,000C763A86A0,PAVLOVA 192.168.32.140,0050FC61D602,SIPYAGIN 192.168.32.128,00032D017621,BAUBLYS_FD 192.168.93.55,000C762B369F,KORZHITSKII 192.168.254.251,000C765E1576,SUGANOV 192.168.82.207,00E07DD054D5,TUNIN 192.168.91.84,000C76261FDC,YAMPOLSKAYA 192.168.93.82,00508DA4984D,BCSERV 192.168.90.11,0004ACB86657,MINTDC 192.168.93.95,000795DA08FA,TESTER 192.168.62.103,000C763A87B9,LEONOVA 192.168.0.61,00025511A9E8,PROKOFIEVA 192.168.93.81,0010DCE0E412,LA,"я" | ... имея это надо создать резервирования в DHCP. Решение простое как "Здрасьте"(с). Код: @echo off @echo Enter filename.csv as a parameter. @echo like this c:\reserv_ip.cmd "ip,mac,hostname,description.csv" rem rem ----------------------------------------------------- rem Пример обработки текстового файла CMD'шником в цикле, rem в данном случае это конвертор CSV -> CMD. Заполнения зарезервированных rem IP адресов DHCP сервера. rem Вариантов может быть несколько, поэтому делаем тот который сложнее. rem Простой вариант - сделать всё в одну строку, но это далеко не всегда проходит. rem Attention! Команда SET в цикле НЕ РАБОТАЕТ. Кто знает как это победить - пишите. rem ----------------------------------------------------- rem for /f "eol=: delims=, tokens=1,2,3,4* skip=1" %%a in (%1) do ( @echo @Echo off> %%b.cmd @echo set DHCP_Server_IP=192.168.90.11>> "%%b.cmd" @echo set Scope=192.168.0.0>> "%%b.cmd" @echo set ClientIP=%%a>> "%%b.cmd" @echo set ClientMAC=%%b>> "%%b.cmd" @echo set Client_HostName=%%c>> "%%b.cmd" @echo set Client_Description=%%d>> "%%b.cmd" @echo netsh dhcp server %%DHCP_Server_IP%% scope %%Scope%% add reservedip %%Client_IP%% %%Client_MAC%% %%Client_HostName%% %%Client_Description%% >> "%%b.cmd" "%%b.cmd" >> "reserved ip added.log" del "%%b.cmd" ) | Исправлено ...в процессе сохранял с другим именем и запостил с ошибкой. строка с netsh, естественно, пишется в одну строку безо всяких переносов. Вот и всё. Принимаются вопросы (в разумных пределах), коментарии и дополнения. | Всего записей: 100 | Зарегистр. 20-08-2003 | Отправлено: 10:16 21-04-2005 | Исправлено: locky, 10:42 21-04-2005 |
|