This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Windows - Пишем в cmd, bat

Не работает? Начинай читать инструкцию.

Скрипт bat: команды отключить / подключить сетевой диск, скопировать / удалить файлы и папки

Допустим, администратор настраивает программу  - клиент видеонаблюдения с доступом ко многим удалённым серверам видеонаблюдения. Что бы многие другие пользователи локальной сети, так же могли использовать программу, то каждому из них, её надо настроить, вписать логины, пароли доступа к серверам, создать шаблоны. Но проблема в том, что при внесении изменений на удалённых серверах или в шаблонах - необходимо будет менять эти настройки на всех клиентских машинах.

Предлагаю ознакомиться с предложениями моих партнёров

Для начала я рассматривал идею Терминальный сервер Windows XP. Но нужен мощный компьютер и эта идея отпала сама собой. Кроме того, как оказалось, к файлам *.bin, в которых хранятся логины и пароли к удалённым серверам, должны быть разрешены права доступа на запись, даже если пользователь не будет вносить записи. По этой же причине не подошла идея запускать программу с сетевого диска. Хотя как оказалось потом, с сетевого диска она не запускалась.  Да и сама мысль, что каждый желающий может нагородить чудес в настройках, мне не нравилась.

Решение нашлось в том, что бы запускать программу на клиентских компьютерах, используя настройки программы установленной на другом компьютере(компьютер администратора).

И так, что мы имеем на компьютере администратора:

1. Установленный клиент просмотра видеокамер, на котором настроен доступ к на 50 удалённых серверов видеонаблюдения

2. Два файла *.bin, в которых хранятся настройки (IP-серверов, логины и пароли). Файлы создаются программой в рабочей директории этой программы, при записи этих данных в окне клиента.

3. Шаблоны, которые настраиваются для просмотра, например можно настроить просмотр 16 камер с разных серверов или одного сервера и сохранить как шаблон. Таких шаблонов можно сделать много для разных нужд.

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

Компьютер клиента:

1. Устанавливаем программу.

2. В рабочей директории программы пишем скрипт start.bat используя описанные команды

1. На случай, если сетевой диск V уже используется как сетевой, выполним команду - отключить сетевой диск V

net use V: /del /yes 

2. Подключить сетевой диск V  с расшаренной папкой

net use V: \\IP-adress\bkc /USER:login passwd

3. Скопировать файлы с сетевого диска к себе в директорию программы

copy "V:\client\Servers.bin" "C:\docume~1\bkc\client\"
copy "V:\client\Layouts.bin" "C:\docume~1\bkc\client\"

или так, если все файлы имеют одинаковое раcширение

copy "V:\client\*.bin" "C:\docume~1\bkc\client\"

4. Скопировать папки с сетевого диска (файлы шаблонов) к себе

xcopy "V:\Шаблони_камер" "C:\docume~1\bkc\Шаблони_камер\*" /S /E /R /Y

5. Отключить сетевой диск V

net use V: /del /yes

6. Запустить выполнение программы -  клиент видеонаблюдения

Bkc.RemoteClient.exe

7. Удалить все файлы в папке Шаблони_камер, а так же во вложенных каталогах, после окончания работы клиента

del /f /s /q "C:\docume~1\bkc\Шаблони_камер"

8. Если надо, удалить все пустые каталоги внутри папки Шаблони_камер, выполнить

goto start
:fn1
for /d %%i in ("%~1\*") do (call :fn1 "%%i" & rd /q "%%i")
exit /b
:start
call :fn1 "C:\docume~1\bkc\Шаблони_камер"

8.1 Если Вы желаете удалить директорию Шаблони_камер и все вложенные папки с файлами, то вместо п. 7 п.8 выполнить

RD /S /Q "C:\docume~1\bkc\Шаблони_камер\"

9. Удалить файлы из директории программы клиента

del /f /s /q "C:\docume~1\bkc\client\Servers.bin"
del /f /s /q "C:\docume~1\bkc\client\Layouts.bin"

или так, если все файлы имеют одинаковое раcширение

del /f /s /q "C:\docume~1\bkc\client\*.bin"

Для запуска этой хитрой схемы, запускаем файл start.bat

Что бы не светить логином и паролем в файле start.bat, пребразуем его в start.exe с помощью программы Bat To Exe Converter

Что бы избежать открытого чёрного окна командной строки используем эти рекомендации - Как скрыть окно bat, если исполняется файл cmd

Предлагаю ознакомиться с предложениями моих партнёров