Показать полную графическую версию : скрипт для копирования папки с сетевого ресурса на компьютер.
BlackEden
19-01-2016, 15:34
Народ, я только начинающий и прошу сильно не ругаться за мою "терминологию".
В общем есть такая задача: надо на выбранные компьютеры (как начальство скажет) скопировать папку ("coppy")которая находиться на сетевом ресурсе(папка расшарина) \\хх\обмен\1\coppy в этой папке есть 3 экзешника которые надо потом (после копирования) запустить по порядку.
компьютеры в домене.
Я так понимаю что нужно в групповых политиках использовать батник. Для опытных админов это тривиальная задача, но для меня она крайне важна. Если кому не сложно описать весь процесс можно в личку, буду признателен.
Батник в данном случае использовать ненужно. В групповых политиках все уже придумали за нас :).
Preferences - Windows settings - Files
Так и копировать, для того, чтобы запустить, не нужно.
@echo off
pushd "\\хх\обмен\1\coppy" && (
exe1.exe
exe2.exe
exe3.exe
popd
)
Iska, не всегда сие может корректно сработать, у нас до сих пор есть несколько точек на которых >128 Kb/s - уже праздник, в задаче не указывалось ни на каком соединении, ни размер *.exe, да и кошернее как-то через GPO. Хотя, конечно, на быстром соединении и при небольшом размере исполняемых файлов Ваше решение может быть эффективнее.
запустить по порядку »
что значит запустить по порядку? нужно дожидаться завершения выполнения 1 перед тем как запускать 2 или не имеет значения?
Elven, скорость соединения не имеет значения, поскольку что предварительно скопировать, что исполнить непосредственно из сетевого каталога — и то, и другое предусматривает чтение с сетевого ресурса. Разницы, для решения вида pull, не будет.
BlackEden
20-01-2016, 11:43
Батник в данном случае использовать ненужно. В групповых политиках все уже придумали за нас .
Preferences - Windows settings - Files »
я не совсем понял что там делать надо :closed-to
Так и копировать, для того, чтобы запустить, не нужно.
Код:
@echo off
pushd "\\хх\обмен\1\coppy" && (
exe1.exe
exe2.exe
exe3.exe
popd
) »
я тут попробовал "написать" (скопировать папку с шары на диск С):
@echo off
xcopy "\\Dc2\обмен\1\coppy" "C:\Program Files\coppy" /s
для проверки выполняю на своей машине: после запуска мне выдает сообщение:
Что означает С:\Program Files\coppy:
им\ файла или каталога
(F = файл; D = каталог)?
что не очень хорошо ведь пользователям не надо видеть никаких сообщений и тем более что то нажимать.
что значит запустить по порядку? нужно дожидаться завершения выполнения 1 перед тем как запускать 2 или не имеет значения? »
в папке coppy лежат 3 экзешника лог файл и файл конфигурации.
надо чтобы были выполнены следующие команды (которые выполняются в командной строке):
"c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --install
"c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --start
все.
p.s. если кому интересно то это все для того чтобы на выбранных машинах поставить забикс агента.
Foreigner
20-01-2016, 12:30
BlackEden, А через pushd не работает? Эта команда подключает сетевой диск на время выполнения сценария, присваивая ему свободную букву диска. На счет xcopy, то достаточно почитать справку к этой команде (ключ /i).
BlackEden
20-01-2016, 13:25
А через pushd не работает? Эта команда подключает сетевой диск на время выполнения сценария, присваивая ему свободную букву диска. На счет xcopy, то достаточно почитать справку к этой команде (ключ /i). »
ключ /i помог.
а как теперь запустить:
"c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --install
"c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --start
Foreigner
20-01-2016, 14:03
а как теперь запустить: »
Ну вы же сами уже написали. Или так чем-то не устраивает? Запускайте через start:
start "" "c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --install
start "" "c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --start
Если надо дождаться выполнения, а потом только запускать следующую, то используйте start с ключом /wait:
start /wait "" "c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --install
start "" "c:\program files\coppy\1.exe" --config "c:\program files\coppy\1.conf" --start
BlackEden
20-01-2016, 15:08
да работает. чет я тупанул.
может теперь кто покажет на пальцах как этот батник засунуть в групповую политику.
1. раскидать батник на машины как указано выше Preferences - Windows settings - Files »
2. создать задачу (https://technet.microsoft.com/ru-ru/library/cc725745.aspx?f=255&mspperror=-2147217396) в планировщике.
альтернативный вариант - скопировать файл прямо в startup, но, имхо, это не есть хорошо.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.