Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] вложенный цикл for с условием if

Ответить
Настройки темы
CMD/BAT - [решено] вложенный цикл for с условием if

Новый участник


Сообщения: 32
Благодарности: 1

Профиль | Отправить PM | Цитировать


Добрый день, вопрос вот в чем.
Делаю батник, который заходит по очереди на каждый комп и скачивает с каждого компа файлы.
При этом переподключает подключение (против множественного подключения)
написал так

Код: Выделить весь код
set number=1
set ip=10.11.0.2
net use \\%ip% /delete  
net use \\%ip% password /user:user
for  %%i in (файл1 файл2 файл3) DO copy \\%ip%\folder\%%i g:\folder\%number% 
set number=2
set ip=10.11.0.3
net use \\%ip% /delete  
net use \\%ip% password /user:user
for  %%i in (файл1 файл2 файл3) DO copy \\%ip%\folder\%%i g:\folder\%number%
батник я написал, но он состоит из таких строк для каждого компа.
Можно ли это сделать покомпактней? Сделать вложенный цикл пытался, но переменная с ip мешает, так как тоже меняется.
И если можно то попроще, это мой первый батник.

Отправлено: 13:31, 24-09-2013

 

Новый участник


Сообщения: 32
Благодарности: 1

Профиль | Отправить PM | Цитировать


Foreigner, Спасибо!

Отправлено: 17:49, 24-09-2013 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата ivanxam:
Iska, объясняю, …»
ivanxam, спасибо, ясно.

Цитата ivanxam:
Компьютеров много, »
Предлагаю перейти к использованию текстового файла для наименований/адресов машин, вместо того, чтобы прямо писать их в пакетном файле.

Цитата ivanxam:
Я в мониторинге вижу "Имя компьютера" и IP каждого компьютера (hostname не знаю их). »
Что представляет собой мониторинг?
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:11, 25-09-2013 | #12


Новый участник


Сообщения: 32
Благодарности: 1

Профиль | Отправить PM | Цитировать


Iska, мониторинг - программа для слежения за работоспособностью компьютеров. Табличка с именами компов, айпи, и текущим состоянием.
Написал, вот что получилось:

Код: Выделить весь код
@Echo Off
setlocal enabledelayedexpansion
set numstart=%1
set numstop=%2
for /F %%A in (namelist.txt) do (
   For /F "tokens=1-3 delims=#" %%B In ("%%~A") Do Set "number=%%B" & Set "ip=%%C" & Set "model=%%D"
   Echo ip=!ip!
   Echo number=!number!
   Echo model=!model!
if "!model!" == "h" net use \\!ip! /delete & net use \\!ip! 111 /user:111
if "!model!" == "h1" net use \\!ip! /delete &  net use \\!ip! 111 /user:111
if "!model!" == "h2" net use \\!ip! /delete &  net use \\!ip! 111 /user:111


if "!model!" == "w" for /L %%i in (%numstart%, 1, %numstop%) DO copy \\!ip!\customer\%%i.jrn g:\jurnal\!number! 
if "!model!" == "h" for /L %%i in (%numstart%, 1, %numstop%) DO copy \\!ip!\journal\ej_!number!_%%i.dat g:\jurnal\!number! 
if "!model!" == "h1" for /L %%i in (%numstart%, 1, %numstop%) DO copy \\!ip!\logs\journal\ej_!number!_%%i.dat g:\jurnal\!number! 
if "!model!" == "h2" for /L %%i in (%numstart%, 1, %numstop%) DO copy \\!ip!\journal\ej_!number!_%%i.dat g:\jurnal\!number!
if "!model!" == "w1" for /L %%i in (%numstart%, 1, %numstop%) DO copy \\!ip!\journal\%%i.jrn g:\jurnal\!number! 

)
Может кривовато и не оптимизировано но работает отлично))) Можно было бы обойтись меньшим количеством строк, но на разных машинах разный путь до журналов.

Файл Name list выглядит так

100001#10.11.55.155#w
100003#10.11.0.200#w
100004#10.11.1.254#w
100005#10.11.1.50#h

Отправлено: 09:54, 01-10-2013 | #13


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата ivanxam:
но на разных машинах разный путь до журналов. »
Это тоже в:
Цитата ivanxam:
Файл Name list »
должно быть.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:43, 01-10-2013 | #14


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте Всем!!!! Подскажите как можно в бат файле прописать следующее:
1.Заходим на диск в сети.
2. Из множества папок выбрать нужную.
3. Записать к себе на диск.
(это мне необходимо для автоматизации установки программы. Но в зависимости от роли пользователя ему нужна для работы программы только 1 папка). Подробнее:
Чтобы во время выполнения бат файла выводилось на экран:
"Выберите нужную цифру".
И предлагалось список:
1 - ПапкаA
2 - ПапкаВ
3 - ПапкаС и т.д. список небольшой.
И я с экрана вводила цифру нужной мне папки. Например после вопроса ввожу цифру 2.
Тогда программа идет в "ПапкаВ" и оттуда берет файл и пишет его на диск пользователя.
Начало (если зайти удаленно на комп пользователя):
mkdir c:\АРМ - создаст на диске С папку АРМ
xcopy "c:\2" "c:\АРМ" /e/c/h/n/y/ где c:\2 - откуда берет и куда пишет: c:\АРМ
далее нужно зайти в сеть на сервер в указанную директорию и выбрать там папку нужную для пользователя, т.е. сделать то что я пыталась обяъснить выше.
Кто нибудь может помочь новичку!!!! ОЧЕНЬ ОЧЕНЬ нужна ПОМОЩЬ!!!

Отправлено: 21:24, 23-05-2014 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] вложенный цикл for с условием if

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Вложенный цикл в цикле etherlord Скриптовые языки администрирования Windows 4 27-04-2023 06:03
FreeBSD - Ошибка с условием WHILE (SSH) mulekula Общий по FreeBSD 0 30-04-2012 14:28
CMD/BAT - Составить скрипт с условием Firebolt Скриптовые языки администрирования Windows 27 14-07-2011 23:59
Smart. Вложенный массив Artem-Samsung Вебмастеру 1 11-11-2010 02:52
Вложенный SELECT в MySQL LEXX2002 Вебмастеру 7 06-09-2005 00:07




 
Переход