PDA

Просмотр полной версии : Рассылка файлов по локальной сети


Sydiva
22.07.2010, 16:48
Добрый день, товарищи подскажите как утроить рассылку файла/папки по локалке.:sos:

Имееться необходимость допустим разослать всем на рабочий стол ярлычек :shock:или после обновления некой программы нужно по рабочим станциям к ней в папочку залить таблички:shock:, но сидеть и поочерёдно заходить на машины пользователей достаточно трудоёмкое занятие, а обьяснить пользователям как зайти на ФПТ всёравно, что учить рыбу по земле ходить :fool:


Может кто батник сообразить или ещё что-то в этом духе если подходящий софт неизвестен

Zhlobny Hmur
23.07.2010, 06:28
Sydiva, Имена компов в сети известно, я бы батник написал. Возможно парочку, один, который конкретно рассылает, а второй, который формирует для него данные.

Sydiva
23.07.2010, 08:10
Zhlobny Hmur если батник умеет читать из файла, было бы замечательно в отдельный файл первой строкой обозначать куда копировать а далее список айпи адресов (сформирую любым пинговщиком).

Огромное спасибо !

PEHDOM
23.07.2010, 13:50
Zhlobny Hmur если батник умеет читать из файла,а чего же не уметь вот небольшой пример, с комментариями, дальше думаю сами разберетесь

для примера в каталоге с батником лежит файл насторек settings.txt следующего содержания


# Это простой файл с настройками

# Режим сборки
buildmode=release

# Компилятор
compiler=cl.exe

# Архитектура
arch=x86

Тогда батник будет выглядеть примерно так

@echo off

rem Читаем настройки из файла settings.txt, который должен располагаться в
rem том же каталоге, что и bat-файл. Если не удалось распарсить настройки -
rem выходим с ненулевым кодом возврата.
call :read_settings %~dp0settings.txt || exit /b 1

rem Прочитанные настройки:
echo Build mode : %BUILDMODE%
echo Compiler : %COMPILER%
echo Architecture: %ARCH%

rem Выход из сценария. Дальше - только функции.
exit /b 0

rem
rem Функция для чтения настроек из файла.
rem Вход:
rem %1 - Имя файла с настройками
:read_settings

set SETTINGSFILE=%1

rem Проверка существования файла
if not exist %SETTINGSFILE% (
echo FAIL: Файл с настройками отсутствует
exit /b 1
)

rem Обработка файла c настройками
rem Здесь:
rem eol=# указывает на то, что содержимое строки начиная с символа #
rem и до ее конца может быть пропущено как комментарий.
rem
rem delims== указывает, что разделителем значений является символ =
rem
rem tokens=1,2 приводит к тому, что в переменную %%i будет занесен первый
rem токен, а в %%j - второй.
rem

for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (
rem В переменной i - ключ
rem В переменной j - значение
rem Мы транслируем это в переменные окружения
set %%i=%%j
)

exit /b 0

результат выполнения
D:\>test.bat
Build mode : release
Compiler : cl.exe
Architecture: x86

D:\>

Sydiva
26.07.2010, 10:40
to PEHDOM осталось только сделать так чтобы оно выполняло то что я просил :),... смотрю в книгу как говориться вижу каралякули, если несложно помогите в данном вопросе.

PEHDOM
26.07.2010, 12:50
А вот ето вы зря, так как даже если вам выложат готовое решение на "Блюде с голубой каемочкой" лучше понимать хотябы немного что написано в модуле. Читайте справку по той или иной комманде и все будет понятно я могу накидать только костяк:
допустим файл с настройками settings.txt выглядит так :
# Ттут указываем путь куда будем копировать
COPYPatch=C$\Documents and settings\User\Desktop

# СписАк Адресов
IP=10.4.4.1
IP=10.4.4.2
IP=10.4.4.4
IP=10.4.4.5
IP=10.4.4.6

ваш батник будет иметь следующую структуру:

@echo off
Setlocal

REM не обязательно использовать такой вид, можно положить settings.txt куда угодно и написать путь к нему
rem например set SETTINGSFILE=d:\My scripts\setts\settings.txt
Set SETTINGSFILE=%~dp0settings.txt

if not exist %SETTINGSFILE% (
echo FAIL: Файл с настройками отсутствует
exit /b 1
)

for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (
If %%i==COPYPatch set %%i=%%j
)
echo COPYPatch : %COPYPatch%

for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (

If %%i==IP (
rem тут можно выполнять действия например копировать, я просто сделал вывод на экран для демонстрации
echo File will copied to: \\%%j\%COPYPatch%

rem строка для копирования может выглядеть например так
rem copy d:\Folder\File.txt \\%%j\%COPYPatch%
)
)

endlocal

результат выполнения :
D:\>test.bat
COPYPatch : C$\Documents and settings\User\Desktop
File will copied to: \\10.4.4.1\C$\Documents and settings\User\Desktop
File will copied to: \\10.4.4.2\C$\Documents and settings\User\Desktop
File will copied to: \\10.4.4.4\C$\Documents and settings\User\Desktop
File will copied to: \\10.4.4.5\C$\Documents and settings\User\Desktop
File will copied to: \\10.4.4.6\C$\Documents and settings\User\Desktop

D:\>
Но это только кусок что касаеться именно чтения из файла настроек и копировать потом туды, или еще чтото.. Дальше все ограничено только вашей фантазией :) какие проверки вы захотите еще ставить, типа на есть ли такой комп в сети, есть ли такой путь, и тд..

info_nowa
26.07.2010, 13:10
Sydiva, Возможно будет интересно прочитать тут (http://www.windowsfaq.ru/content/category/3/7/45/)

Sydiva
26.07.2010, 19:06
ну ребята молодцы, спасибо, темя для меня лес дремучий но вы дали направление и тропинки показали, так что ещё раз сенк пойду теперь поброжу, может найду и синею птицу и ларчик кощея :)

Sydiva
28.07.2010, 18:38
толи из-за того, что жарко толи из-за того, что напарник уволился ничивошеньки у мну не получаеться,....прошу тарелочку с коймочкой, конечно если есть желание

PEHDOM
29.07.2010, 07:55
Э-э-э-э, м-м-м-м так собственно то что я вам написал в посте №6 и есть то самое блюдечко ...может будет проще если вы выложите тут свое творчество, с листингом выполнения и указанием чего не работает, а мы уже посмотрим где собака порылась...