CMD/BAT - [решено] Копирование файла на несколько IP

Ответить
Аватара пользователя
Moksar

CMD/BAT - [решено] Копирование файла на несколько IP

Сообщение Moksar »

Копирование файла на несколько IP

Помогите с батником.

Файл который лежит в C:\Test ,название get.xml. Нужно скопировать на несколько (100-200) IP пример \\192.168.0.1\obmen$$\shara Айпишники брать например из C:\IP.txt . Перед копирование пинг,нет пинга переход к другому айпишнику.(процесс удачного копирования желательно обозначить как и неудачный пинг)

Реализуемо?
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Копирование файла на несколько IP

Сообщение megaloman »

Код:

Код: Выделить всё

@Echo Off
Set Spisok=D:\Delete\Spisok.ip
Set File=D:\Delete\get.xml
Set Shara=obmen$$\shara\
Set Log=D:\Delete\Spisok.log
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%"
Аватара пользователя
koresaram

Re: CMD/BAT - [решено] Копирование файла на несколько IP

Сообщение koresaram »

а если на рабочий стол надо файл кинуть, там прямо русскими буквами в батнике писать путь?
Аватара пользователя
DJ Mogarych

Re: CMD/BAT - [решено] Копирование файла на несколько IP

Сообщение DJ Mogarych »

Да, только файл сохраняйте в кодировке CP866 (DOS), и пути с пробелами заключайте в кавычки (" ").
Аватара пользователя
koresaram

Re: CMD/BAT - [решено] Копирование файла на несколько IP

Сообщение koresaram »

то есть для моего случая будет так выглядеть?



@Echo Off



Set Spisok=D:\Delete\Spisok.ip

Set File=D:\Delete\get.xml

Set Shara=C:\Users\ПОЛЬЗОВАТЕЛЬ\Desktop

Set Log=D:\Delete\Spisok.log



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%"
Ответить

Вернуться в «Скриптовые языки администрирования Windows»