Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скрипт с проверкой условий

Ответить
Настройки темы
CMD/BAT - Скрипт с проверкой условий

Аватара для wiznv

Старожил


Сообщения: 210
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: wiznv
Дата: 20-06-2014
Вот текст скрипта для бэкапа файлов с помощью robocopy :
robocopy D:\исходная_папка \\192.168.0.1\целевая_папка /E /Z /COPY:TDASO /DCOPY:T /M /R:2 /W:5

условия задачи: Нужно выполнять этот скрипт при выключении ПК и копировать папку текущего доменного пользователя в сетевую шару с созданиям папки с названием логина пользователя.

исправьте если ошибаюсь, но в данном случае определине текущего пользователя невозможно и целевая папка не создастся т.к. теоритически имя пользователя не постоянно , их может быть несколько на одном ПК и при выключении
происходит выход из системы пользователя, а в этом время будет выполнятся скрипт. Переменные среды вида %userfolder% тоже не помогут по тем же причинам. Поэтому нужен скрипт с условиями и сравнением переменных, но я не силен в написание сложных скриптов и прошу помочь в его написании:

Мысли на счет решения: : Т.к. имя компьютера постоянное, то нужно составить список соответствия - компьютера(а2) и имени пользователя(b2) - a2=b2
Скрипт должен сравнить фактическое имя компьютера (а1, командой hostname), со списком и если фактическое имя компьютера совпадет с одним из списка (a1=a2) , то нужно присвоить значение из списка b2 фактическому именя пользователя b1 т.е. b2=b1
т.е.
a1=b1
если a2=a1, то
b2= b1.
Ну и потом присовить эти значение переменным в строке параметров robocopy
Верно ?
Если компьютеров 50 то нужно создавать 50 переменных для списка потом 50 условий... или есть способ проще.. ?
Как в скрипте вытащить данные из текстового файла чтобы не писать весь список в скрипте ?

Отправлено: 13:54, 20-06-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата wiznv:
или есть способ проще.. ? »
Назначьте исполнение скрипта на завершение сеанса пользователя.

Отправлено: 15:26, 20-06-2014 | #2



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

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


Ветеран


Сообщения: 547
Благодарности: 36

Профиль | Сайт | Отправить PM | Цитировать


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

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 11:35, 23-06-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Опиум:
особенно доставляют такие logoff-скрипты если копируют несколько гигов... »
Ага. Но там есть противоядие в виде ограничения на 10 минут максимум (по умолчанию; регулируется групповой политикой) .

Отправлено: 20:07, 23-06-2014 | #4


Аватара для wiznv

Старожил


Сообщения: 210
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Iska:
Назначьте исполнение скрипта на завершение сеанса пользователя. »
назначил,но 1.параметр /ZB (режим архивации в случае если файл открыт ) от пользователя не работает! А делать оператором архива всех пользовамтелей не вариант. Можно выполнять скрипт от имени администратора, но тогда не сработают переменные среды. 2. Проблема с переименованными профилями - не работают переменные среды т.к. логин некоторым пользователям был переименован.Решаемо, но бегать не хочется т.к. в ручную нужно делать ((

Отправлено: 11:16, 24-06-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата wiznv:
назначил,но 1.параметр /ZB (режим архивации в случае если файл открыт ) от пользователя не работает! А делать оператором архива всех пользовамтелей не вариант. »
А зачем Вам /zb в момент завершения сеанса? Какие именно потребные файлы пользователя заблокированы?

Цитата wiznv:
2. Проблема с переименованными профилями - не работают переменные среды т.к. логин некоторым пользователям был переименован. »
«%UserProfile%» тоже переименован?
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:14, 24-06-2014 | #6


Аватара для wiznv

Старожил


Сообщения: 210
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Iska:
А зачем Вам /zb в момент завершения сеанса? Какие именно потребные файлы пользователя заблокированы? »
К сожалению программа не работает до конца и во время выключение или перезагрузки задание просто завершается..отдельной опции "ждать завершения задания" там я не нашел. Задание завершается не начавшись, в журнале задания ошибок нет, только сообщения о запуске. Если запустить вручную то все работает, поэтому подумываю о выполнении задания в обеденное время ( например), но у всех Outlook открыт и задании не выполнится.

Отправлено: 07:26, 30-07-2014 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скрипт с проверкой условий

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Завершение условий Тишина Программирование и базы данных 2 11-04-2014 16:23
[решено] Несколько условий в переменной $re2 KrotMen Вебмастеру 2 08-07-2012 15:16
Использование - Изменение условий лицензирования Windows PE okshef Лицензирование продуктов Microsoft 0 23-03-2012 08:29
[решено] Проверка выполнения нескольких условий Smokie_id11243755 AutoIt 6 05-09-2010 07:19
VBS/WSH/JS - [решено] Скрипт обновления файла с проверкой по дате изменения. CtrlD Скриптовые языки администрирования Windows 2 17-07-2010 10:45




 
Переход