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

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

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

Аватара для Firebolt

Старожил


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

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


Вот такой вот пишу скрипт:

Код: Выделить весь код
@ echo off  IF NOT EXIST %windir%\logo2.bmp (     
REGEDIT /S \\svrmain\prog\logonwp.reg 
copy /Y \\svrmain\prog\logo2.bmp %windir%    
) ELSE (  
exit  
)
Тут все работает, но нужно добавить нюанс. Что-то типа условия в условии. Если словами, то... Когда файл logo2 не найден, то добавить такое-то измение реестра... А потом еще одно условие: если изменение не было внесено в реестр, тогда goto end - пропускаем копирование файла logo2. Вот как это условие записать про изменения в реестре?

Отправлено: 10:19, 10-07-2009

 


Moderator


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

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


Firebolt, с помощью Reg Query можно проверить (внесено ли изменение), как-то так:
Код: Выделить весь код
REG QUERY "раздел" /V "параметр" && copy /Y \\svrmain\prog\logo2.bmp %windir%
Оператор && выполняет следующую команду в том случае, если предыдущая завершилась успешно.

Отправлено: 10:45, 10-07-2009 | #2



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

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


Аватара для Firebolt

Старожил


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

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


Petya V4sechkin, а почему REG QUERY? Можно мне вставить туда же в

Код: Выделить весь код
REGEDIT /S \\svrmain\prog\logonwp.reg 
copy /Y \\svrmain\prog\logo2.bmp %windir%
&& ? Чтобы получилось

Код: Выделить весь код
REGEDIT /S \\svrmain\prog\logonwp.reg &&
copy /Y \\svrmain\prog\logo2.bmp %windir%
???

Отправлено: 11:08, 10-07-2009 | #3



Moderator


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

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


Firebolt, потому что Regedit не возвращает ошибок (ErrorLevel = 0).
После && не должно быть перевода строки (обе команды в одной строке).
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:18, 10-07-2009 | #4


Аватара для Firebolt

Старожил


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

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


Petya V4sechkin, чего только не пробовал, не получается у меня изменения внести в реестр. Может поможете мне? Применяю следующий твик:

Код: Выделить весь код
"Wallpaper"="C:\\Windows\\logo2.bmp"
"WallpaperStyle"="2"
"OriginalWallpaper"="C:\\Windows\\logo2.bmp"

Отправлено: 21:48, 10-07-2009 | #5



Moderator


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

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


Firebolt, прям так и применяете?
Почему бы в нормальном виде не сделать?
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"="C:\\Windows\\logo2.bmp"
"WallpaperStyle"="2"
"OriginalWallpaper"="C:\\Windows\\logo2.bmp"

Отправлено: 22:05, 10-07-2009 | #6


Аватара для Firebolt

Старожил


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

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


Petya V4sechkin, потому что мне необходимо условие - если изменения не вносятся, тогда скрипт не должен отрабатывать дальше. А если вносятся, тогда скрпит работает дальше и копирует файл. Этот файл в последствии является маркером. И при повторном запуске, если этот файл уже имеется в наличии, скрипт вообще не будет отрабатываться. Весь этот скрипт прописан в групповой политеке и запускается каждый раз при логоне пользователя. Взглянув на пример, приведенный в первом посте, вы поймете о чем я говорю. И тот пример работает уже. Но нужно поправить один нюанс, как я писал выше.

Отправлено: 22:10, 10-07-2009 | #7



Moderator


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

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


Firebolt, фрагмент из 5-го поста не похож на фрагмент из 6-го.
Вы пишете:
Цитата Firebolt:
не получается у меня изменения внести в реестр.
А я вам отвечаю, что твик из 6-го поста вносит изменения.

Отправлено: 22:15, 10-07-2009 | #8


Аватара для Firebolt

Старожил


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

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


Petya V4sechkin, у меня не получается внести изменения в реестр при помощи команды REG QUERY из командной строки! Да, мой 5 пост предполагал, что вы помните, о чем идет речь. Прошу прощения, не подумал.

В общем, я хочу внести вот эти вот изменения в реестр

Код: Выделить весь код
[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"="C:\\Windows\\logo2.bmp"
"WallpaperStyle"="2"
"OriginalWallpaper"="C:\\Windows\\logo2.bmp"
из коммандной строки, для того чтобы получить этот самый ErrorLevel, который даст мне возможность использовать оператор &&.

Отправлено: 22:20, 10-07-2009 | #9



Moderator


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

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


Цитата Firebolt:
у меня не получается внести изменения в реестр при помощи команды REG QUERY из командной строки!
Команда REG QUERY для этого не предназначена.

Цитата Firebolt:
если изменения не вносятся, тогда скрипт не должен отрабатывать дальше. А если вносятся, тогда скрпит работает дальше и копирует файл.
Вернемся к началу.
Вы говорите, что REGEDIT /S файл.reg не вносит изменения в раздел "HKCU\Control Panel\Desktop", интересно, по какой причине? Разрешения изменены, что ли?

Отправлено: 10:07, 11-07-2009 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
V. 2007 - Антивирус и антиспам для exch 2007 с условием. Alexandrovav Microsoft Exchange Server 10 17-02-2010 12:03
Составить Классификацию уязвимостей СУБД. Morsel Хочу все знать 1 04-06-2009 16:22
Прочие БД - Составить Классификацию уязвимостей СУБД. Morsel Программирование и базы данных 1 04-06-2009 16:20
Разное - Помогите алгоритм составить MaZaFaKa46 Программирование и базы данных 3 28-12-2008 22:00
запрос в MySQL из PHP с условием. что-то не так делаю koresaram Вебмастеру 7 09-08-2006 14:49




 
Переход