Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
pinosol
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 9
1

Копирование заданного файла на все компьютеры в сети, IP-адреса которых находятся в списке в текстовом файле

22.05.2013, 19:20. Просмотров 2392. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Требовалось создать *.bat файл, который осуществит копирование файла по всем компьютерам IP адреса которых есть в списке, вот какой код получился:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Set Spisok=1.txt
@Set File=list.txt
@Set Shara=d$
@Set Log=D:\Spisoklog.txt
 
@Echo +++ >> "%Log%"
@Echo +++ %Date% %Time% ++++++++++++++++++++++++ >>"%Log%"
@Echo +++ >> "%Log%"
 
FOR /F "usebackq delims=" %%i IN ("%Spisok%") DO Call :CopyTo %%i
GoTo :Eof
 
:CopyTo
ping -n 1 %1 >nul
 
@if not %Errorlevel%==0 (
  @ Echo --- Узел %1 не пингуется >> "%Log%"
   @GoTo :Eof
)
 
Copy "%File%" "\\%1\%Shara%" >nul 1>nul 2>nul
 
if %Errorlevel%==0 echo +++ Успешно    Copy "%File%" "\\%1\%Shara%" >> "%Log%"
if not %Errorlevel%==0 echo --- Не удалось Copy "%File%" "\\%1\%Shara%" >> "%Log%"
Список IP адресов хранится в файле 1.txt, файл который надо отправить list.txt, на каждом компьютере в сети расшарен диск D, ну и лог Spisoklog.txt...
Проблема в том, что не могу уже второй день найти ошибку, копирование не происходит и в лог-файл записывается отчёт, что копирования не произошло. Надеюсь свежий глаз заметит ошибку.
0
Вложения
Тип файла: rar batk.rar (412 байт, 19 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 19:20
Ответы с готовыми решениями:

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

Копирование определённого файла с каждого из удалённых компьютеров, имена которых указаны в текстовом файле
Добрый день, Может есть хороший человек который поможет достичь мне нужного результата. Я...

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

Парсинг страниц, адреса которых находятся в файле
Доброго времени суток. Собственно, программа должна брать ссылку с текстового файла, переходить...

Копирование всех файлов, перечисленных в списке, содержащемся в текстовом файле, в заданную директорию
Здравствуйте! Помогите сделать лабу. Нужно сделать батник. Вот задание: 2)Создать командный...

5
Eva Rosalene
Ladybug
4055 / 1593 / 304
Регистрация: 06.01.2013
Сообщений: 4,190
Завершенные тесты: 2
22.05.2013, 20:12 2
Цитата Сообщение от pinosol Посмотреть сообщение
Copy "%File%" "\\%1\%Shara%" >nul 1>nul 2>nul
зачем >nul 1>nul. Оставь просто >nul
0
pinosol
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 9
22.05.2013, 20:19  [ТС] 3
Не помогло, всё равно копирование не происходит...
0
Eva Rosalene
Ladybug
4055 / 1593 / 304
Регистрация: 06.01.2013
Сообщений: 4,190
Завершенные тесты: 2
22.05.2013, 21:23 4
убери везде @
и добавь в начало кода @echo off
0
pinosol
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 9
22.05.2013, 21:29  [ТС] 5
и так делал, всё равно косяки
0
Dragokas
Эксперт WindowsАвтор FAQ
17058 / 7113 / 861
Регистрация: 25.12.2011
Сообщений: 10,924
Записей в блоге: 16
23.05.2013, 01:07 6
Одно замечание.
Проверка ErrorLevel после команды ping не является абсолютным показателем того, что соединение успешно.
Следует проверять наличие ответов, в которых указывается TTL.

Т.е. строки 14-19 переписать так:

Bash
1
ping -n 1 %1 |>nul find /i "TTL=" || (@Echo --- Узел %1 не пингуется >> "%Log%"& Exit /B)
Забавно @ Echo - после @ можно писать несколько пробелов - не считается за синтаксическую ошибку.

Остальное - не видно проблем.

Что можно проверить:
попробуйте ввести в консоль

Bash
1
Copy "какой-то файл" "\\IP-адрес\D$"
сработает? Нет? - тогда попробовать заменить на XCOPY.
0
23.05.2013, 01:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2013, 01:07

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

Находятся ли компьютеры в одной сети?
Находятся ли компьютеры в одной сети? Имеется два IP адреса: 172.16.1.32 и 172.16.1.39 Маска:...

П.О. определяющее какие компьютеры находятся в локальной сети
Нужно разработать программное обеспечение которое бы позволяло определять время работы каждого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru