Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Управление из командной строки


Рекомендуемые сообщения

Тролль: а вот Утилита ERUNT (судя по её описанию) делает именно то что мне нужно -

Утилита ERUNT создает резервную копию реестра Windows в папке по вашему выбору. В дальнейшем при необходимости вы сможете легко восстановить реестр буквально парой кликов мыши. Программа поддерживает переменные командной строки, так что вы вполне можете запрограммировать ERUNT на выполнение задачи резервного копирования реестра без всякого своего участия. Как и для любой утилиты подобного рода, вам необходимы права администратора для запуска этой программы.
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 589
  • Создана
  • Последний ответ

Топ авторов темы

Indomito:

"Подплыла к нему рыбка, спросила: "Чего тебе надобно, старче?"..."

Чем тебе не нравится создание точек отката? Они тоже бэкапят и восстанавливают реестр (за исключением изменений в паролях и т.п.). Видит Бог, никогда не было нужды в ежедневном восстановлении реестра. Бэкапить ежедневно - может быть, хотя мне изготовления точки восстановления вручную раз в неделю хватает за глаза и за уши.

Насчет REG и ERUNT - REG удобна для внесения изменений в отдельные ключи реестра в пакетных файлах (ее мы с CreatoR'ом когда-то разбирали, кажется, в этой же теме, теперь ее не сразу просмотришь :D ), ERUNT предназначена для бэкапа и восстановления всего реестра. Есть еще пара подобных утилит, но ERUNT наиболее универсальна и удобна (ИМХО). Еще в Windows 9х были утилиты для бэкапа и восстановления реестра ERU и ERD соответственно, ERU я применял часто, но ERD - редко. Я нашел ERUNT когда-то именно как замену ERU/ERD для Windows 2k/XP. Хотя сейчас я обычно использую для недалеких откатов назад восстановление системы, а для далеких - полностью переустанавливаю систему из образа с помощью True Image, заодно исчезает и всякий мусор из системы - как корова языком слизала ;)

Ссылка на комментарий
Поделиться на другие сайты

Тролль: Ну старче :) сам делает бэкап с помощью Norton Ghost (это имхо быстрее и надёжнее уж точно всё сохранится). А зачем мне сохранять реестр.... так просто взбредёт в голову всё по изменять и честное-благородное я раньше не утруждал себя запоминать, что и где я натворил ;) По мне проще откатится в исходную, но просто зачастую изменения касались реестра, а закатывать обратно GHO... ИМХО утомительно, но я 2 дня назад сохранил реестр, ну а последствия отката меня ужаснули :D Вот прочти Востановление реестра из REG-файла на досуге :)

Ссылка на комментарий
Поделиться на другие сайты

Вопрос тем кто разбирается.

Напишите пример двух батников (сохранения и восстановления реестра), а то у меня защита ругается на нарушение целостности ОС, при чем обойти это сложно т.к. программа восстановления мигрирует. Я о программе ERUNT и о ERDNT.E_E.... чтение мануала и FAQ не помогло. Директория записи данных не принципиальна, а важен сам метод.

Изменено пользователем Indomito
Ссылка на комментарий
Поделиться на другие сайты

Indomito:

Не совсем понял, о чем твоя система вещает. Проверил на своем компьютере - тишь и гладь и божья благодать. Хотя благодать, как обычно, с некоторыми ограничениями в использовании ;)

Ограничение следующее: не пытайся восстановить реестр из бэкапа сразу после этого бэкапа - дело это явно никому не нужное, противоестественное и богопротивное :blink: . После бэкапа реестра для его восстановления нужно сначала перезагрузиться, иначе файлы будут заблокированы. Наоборот - пожалуйста: восстанавливаем реестр, можем, при, желании, еще поработать, а можем и нет, и делаем бэкап без перезагрузки.

Не совсем понятно еще, зачем твоей программе восстановления мигрировать. Ты хочешь держать несколько бэкапов реестра? Конечно, можно, только как автоматически решать, который из них восстанавливать? Золотая рыбка в недоумении...

Переходим к практическим упражнениям с золотой рыбкой. Кстати, она спрашивает, зачем тебе bat-файлы. Бэкап реестра и его восстановление выполняются в простейшем случае одной командой каждый, для этого проще просто сделать ярлыки, зачем делать bat-файлы? Если появится желание чего-то более сложного типа хранения нескольких бэкапов. тогда можно подумать о батниках...

Да, так что я сделал на своем компьютере: поставил ERUNT в папку C:\ERUNT. Затем сделал ярлык для бэкапов реестра в папку C:\ERUNT\R, создал первый бэкап (иначе не сделать следующий ярлык), сделал ярлык для будущих восстановлений реестра. Всё. Содержание ярлыков:

а) ярлык Erunt

C:\ERUNT\ERUNT.EXE C:\ERUNT\R /noconfirmdelete

б) ярлык Erdnt

C:\ERUNT\R\ERDNT.EXE silent

При желании ярлыки можно, конечно, переделать в bat-файлы и сделать ярлыки к ним, но зачем делать двойную работу?

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Тролль: спасибо за просвещение (не посвящение ;) ) Да, я в виде "экстримента" попытался восстановить сразу... ну да ладно :) Спасибо за пример ярлыков, и я конечно не собираюсь себе усложнять жизнь батниками - ярлыки на панели TLB - этого ИМХО достаточно.

ЗЫ

Не совсем понял, о чем твоя система вещает. Проверил на своем компьютере - тишь и гладь и божья благодать.
а что у тебя за защита, ну если не секрет, может я перебрал немного.... со мной такое часто бывает :blink:
Ссылка на комментарий
Поделиться на другие сайты

Привет.

Я тут батник написал:

del /f /q "%AllUsersProfile%\Главное меню\Программы\*.*"del /f /q "%AllUsersProfile%\Главное меню\*.*"del /f /q "%UserProfile%\Главное меню\Программы\*.*"del /f /q "%UserProfile%\Главное меню\*.*"del /f /q "%AllUsersProfile%\Главное меню\Программы\Стандартные\Знакомство с Windows XP.*"del /f /q "%AllUsersProfile%\Главное меню\Программы\Стандартные\Мастер совместимости программ.*"del /f /q "%UserProfile%\Главное меню\Программы\Стандартные\Знакомство с Windows XP.*"del /f /q "%UserProfile%\Главное меню\Программы\Стандартные\Мастер совместимости программ.*"del /f /q "%UserProfile%\SendTo\Адресат.*"del /f /q "%UserProfile%\SendTo\Мои Документы.*"del /f /q "%UserProfile%\SendTo\Сжатая ZIP-папка.*"del /f /q "%AllUsersProfile%\SendTo\Адресат.*"del /f /q "%AllUsersProfile%\SendTo\Мои Документы.*"del /f /q "%AllUsersProfile%\SendTo\Сжатая ZIP-папка.*"rd /s /q "%SystemDrive%\Program Files\microsoft frontpage"rd /s /q "%SystemDrive%\Program Files\msn gaming zone"rd /s /q "%SystemDrive%\Program Files\WindowsUpdate"

Но почему-то microsoft frontpage, msn gaming zone удаляться не хотят, хотя они пустые!

Что можно сделать?

И еще кто-н может этот батник превратить в vbs?

Ссылка на комментарий
Поделиться на другие сайты

Wu-Tang:

почему-то microsoft frontpage, msn gaming zone удаляться не хотят, хотя они пустые!

Возможно эти папки используются каким то приложением? с проводника они удаляются?

кто-н может этот батник превратить в vbs?
On Error Resume NextSet WshShell = WScript.CreateObject("WScript.Shell")Set fso = CreateObject("Scripting.FileSystemObject")AllUsersProfile = WshShell.ExpandEnvironmentStrings("%AllUsersProfile%")UserProfile = WshShell.ExpandEnvironmentStrings("%UserProfile%")ProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")fso.DeleteFile AllUsersProfile & "\Главное меню\Программы\*.*", Truefso.DeleteFile AllUsersProfile & "\Главное меню\*.*", Truefso.DeleteFile UserProfile & "\Главное меню\Программы\*.*", Truefso.DeleteFile UserProfile & "\Главное меню\*.*", Truefso.DeleteFile AllUsersProfile & "\Главное меню\Программы\Стандартные\Знакомство с Windows XP.*", Truefso.DeleteFile AllUsersProfile & "\Главное меню\Программы\Стандартные\Мастер совместимости программ.*", Truefso.DeleteFile UserProfile & "\Главное меню\Программы\Стандартные\Знакомство с Windows XP.*", Truefso.DeleteFile UserProfile & "\Главное меню\Программы\Стандартные\Мастер совместимости программ.*", Truefso.DeleteFile UserProfile & "\SendTo\Адресат.*", Truefso.DeleteFile UserProfile & "\SendTo\Мои Документы.*", Truefso.DeleteFile UserProfile & "\SendTo\Сжатая ZIP-папка.*", Truefso.DeleteFile AllUsersProfile & "\SendTo\Адресат.*", Truefso.DeleteFile AllUsersProfile & "\SendTo\Мои Документы.*", Truefso.DeleteFile AllUsersProfile & "\SendTo\Сжатая ZIP-папка.*", Truefso.DeleteFolder ProgramFiles & "\microsoft frontpage", Truefso.DeleteFolder ProgramFiles & "\msn gaming zone", Truefso.DeleteFolder ProgramFiles & "\WindowsUpdate", True

Не тестировал :alco:

А вообще то это офтопик тут постить :alco:

Ссылка на комментарий
Поделиться на другие сайты

CreatoR:

Возможно эти папки используются каким то приложением? с проводника они удаляются?

Из проводника тоже не удаляются!

Заняты они процессом winlogon.exe, надо бы их разблокировать сначала, а потом удалять, но я команду на разблокировку не знаю.

А vbs будет выполняться без запросов надеюсь?

Ссылка на комментарий
Поделиться на другие сайты

Wu-Tang:

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

Скачай утилиту OpenedFilesView. Она работает с ключами ком. строки, используй примерно так (перед удалением) :

Start "" OpenedFilesView.exe /closefolder "%ProgramFiles%\msn gaming zone"
vbs будет выполняться без запросов надеюсь?

Без.

Ссылка на комментарий
Поделиться на другие сайты

CreatoR:

По-поводу этих папок нашел способ, надо немного подправить файлик KillWFP.lst

Спасибо за помощь!

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Здравствуйте, люди добрые! Помогите пожалуйста блондинке...Ситуация такова: на серваке одном два раза в день создается два архива баз данных и складывается все енто в папку с текущей датой. Все это с помощью двух разных батников.Задача в том, что ежедневно надо папки эти на ftp закидывать.

Я дописала в конец того батника, который делается последним :

cd d:\DMP\%datetemp%

ftp.exe -s:d:\dmp\ftp.scr

и накатала скрип ftp.scr:

open 162.17.27.198

username

userpassword

mput

*.rar

close

quit

Складывается только 1-й архив :)

получается mput не работает как надо?

:D

Ссылка на комментарий
Поделиться на другие сайты

Lady13:

получается mput не работает как надо?

Возможно *.rar нужно ставить после mput?

open 162.17.27.198usernameuserpasswordmput *.rarclosequit

А откуда инфа о том что mput поддерживает сокращения типа *.rar?

Ссылка на комментарий
Поделиться на другие сайты

CreatoR: mput [mget] - то же самое, что и put [get], но только разрешается использовать шаблоны и символы подстановки. Так что поддерживает :D

Lady13: добавлю к ответу CreatoR-а, не только поставить одной строкой, но и перед эти отключить интерактивный режим командой prompt

будет

open 162.17.27.198usernameuserpasswordpromptmput *.rarclosequit

без этого перед каждым копированием нужно подтверждение

Изменено пользователем Maikll
Ссылка на комментарий
Поделиться на другие сайты

Maikll и CreatoR, спасибо за помощь!

CreatoR:

Возможно *.rar нужно ставить после mput?

прошу прощения - это я стормозила - у мну в одну строчку было написано, я нечаянно :)

еще я mput на wput меняла, потому-что кто-то сказал что mput не может сразу несколько файлов забирать - не подошло.....

А вот с prompt всё шикарненько работает :)

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Привет.

Помогите пожалуйста этот батник:

@echo offset key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceExreg add %key%\001 /ve /d "delete" /freg add %key%\001 /v 1 /d "%WinDir%\Del Files & Folders.vbs" /fexit

Переделать в vbs!

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Подскажите пожалста....батничек для бэкапов раньше вечером делался, архивировался с названием текущего времени и даты; а потом я его на час ночи делаться поставила и он теперь архив никак не называет (точнее просто .rar), по ходу ему параметры для времени не нравятся:

set datetemp=%date:~-10%

md c:\bu\%datetemp%

cd c:\bu\%datetemp%

set datetime=%time:~0,02%_%time:~3,2%_%date:~-10%

.....

"C:\Program Files\WinRAR\Rar.exe" a -df -m5 c:\bu\%datetemp%\%datetime%_bu.rar c:\bu\%datetemp%\1*.*

пробовала поиграться с set datetime - меняла 0,02 на 0,01 - архиву дается название тогда ,например, не 1_00_23.10.2008_bu.rar а _00_23.10.2008_bu.rar ... что ж туда написать-то надо, а то переназывать архив не решение :)

Ссылка на комментарий
Поделиться на другие сайты

Lady13: вы сами создаете себе дополнительные трудности.

Раз уж делаете архив winrar то им же и добавляйте время (для этого есть опция -ag)

Тогда все это делается одной командой

"C:\Program Files\WinRAR\Rar.exe" a -ag[HH-MM_DD-MM-YYYY] -df -m5 c:\bu\%datetemp%\ c:\bu\%datetemp%\*.*

Зачем только создавать какой-то временный каталог... :)

Ссылка на комментарий
Поделиться на другие сайты

Maikll, спасибо большое, действительно себе проблемы создаю :doh:

просто у меня бэкапы, которые архивятся, называютца в стиле 0_00_10.09.2008_bu.dmp..вот и захотелось, чтобы архив для удобства так же назывался =)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте! Помогите пожалуйста !

Ситуация такова: Необходимо контролировать сервер и записывать результаты в какой нибудь текстовый файл когда пропала сеть и когда появилась по времени. Что то типа лог файла с информацией когда сеть пропала и когда появилась.

Ссылка на комментарий
Поделиться на другие сайты

a139st: можно пинговать определенный хост с сервера или сам сервер с другой машины в сети. При пропаже пинга считаем сети нет, при появлении - сеть появилась. Время в обоих случаях записываем в лог

Примерно вот так

@echo offset mem=0  :Loopping -n 2 ip-адрес, который проверяем | find /i "(100"if %errorlevel% == 1 goto Loop2if %mem% == 0 (echo ------ >>log.txtecho The network is inaccessible.>>log.txtdate /t >>log.txttime /t >>log.txtecho ------ >>log.txtset mem=1goto Loop) else (goto Loop):Loop2if %mem% == 1 (echo ------ >>log.txtecho The network is accessible.>>log.txtdate /t >>log.txttime /t >>log.txtecho ------ >>log.txtset mem=0goto Loop) else (goto Loop)
Изменено пользователем Maikll
Ссылка на комментарий
Поделиться на другие сайты

Maikll, Большое спасибо! Всё работает :-)

Для меня это всё новое и прошу строго не судить

Делал я как: создал файл с расширением bat, вписал туда всё что вы составили, написал IP адрес и запустил на выполнение.

Незнаю правильно ли?

У меня ещё просьба, если поможете

создаётся вот какой файл

------

The network is inaccessible.

05.11.2008

13:19

------

------

The network is accessible.

05.11.2008

13:20

------

пожелание :

1) можно ли регулировать интервал (периодичность) пингования, и где это делаеться

2) можно ли как то сделать табличный вариант, ну чтобы распологались в поледовательности: Дата, Время, Состояние сети

3) можно ли пояснение какие строки что выполняют (для сомооброзования ;-) )

4) можно ли как то скрыть окно командной строки, ну чтобы визуально не видеть, а при необходимости вызвать.

Ссылка на комментарий
Поделиться на другие сайты

a139st:

Делал я как: создал файл с расширением bat, вписал туда всё что вы составили, написал IP адрес и запустил на выполнение.

Незнаю правильно ли?

правильно

1) можно ли регулировать интервал (периодичность) пингования, и где это делаеться

можно, конечно. Самый простой вариант - пинг самого себя определенное число раз

ping 127.0.0.1 - n примерное число секунд > nul

но я предпочитаю пользоваться консольной утилитой sleep, там синтаксис совсем простой

sleep число-секунд-задержки

насчет где... особо не заморачиваясь можно поставить вызов одной из этих команд перед пингом проверочного хоста. Единственное неудобство: при запуске батника первая проверка будет после этой же задержки.

2) можно ли как то сделать табличный вариант, ну чтобы распологались в поледовательности: Дата, Время, Состояние сети

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

проще будет выводить лог в виде текстового файла с разделителями (.csv), чтобы затем его можно было импортировать в excel например. А там уже можно создавать таблицу по вкусу.

Правда без усложнения кода и здесь не обойдется, нужно будет спева преобразовать текущие дату и время в текст

4) можно ли как то скрыть окно командной строки, ну чтобы визуально не видеть, а при необходимости вызвать.

просто скрыть - можно, а вот вызов по коомбинации клавиш или еще что-то средствами бат-файла не реализуемо.

Если надо просто скрыть окно командной строки, оставив только процесс то для этого есть маленькая хитрость: запускаем батник не вручную, а средствами встроенного планировщика заданий. Окно не будет появлятся на экране.

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

hidec.exe путь к батнику\его имя.bat

3) можно ли пояснение какие строки что выполняют (для сомооброзования ;-) )

ну если расписывать все команды подробно, то придется сюда перекопировать половину встроенной справки windows :)

Поэтому в первую очередь надо обратится за помощью к ней. В первых постах этой темы уже давались ссылки где почитать, посмотри пост Тролль

Ну и конечно можно получить справку по практически любой команде, введя в командной строке имя_команды /?

Вкратце напишу комментариями в самой программе

Итого, с учетом всех изменений получаем:

@echo offrem  Задаем переменную-переключатель Был пинг-не былоset mem=0 :Loopsleep число_секунд задержки_между_проверкамиrem Проверяем есть ли пинг и ищем в результате строчку, начинающуюся с (100% потерь) т. е. смотрим, что ответов нетping -n 2 ip-адрес, который проверяем| find /i "(100"rem пинг есть - переходим к метке Loop2, иначе присваиваем переменной mem значение 1 (чтобы больше не сработывало условие и делаем запись в лог)if %errorlevel% == 1 goto Loop2if %mem% == 0 (set mem=1) else (goto Loop)rem а здесь преобразовываем время-дату в текстfor /f "tokens=1,2,3 delims=." %%i in ('date/t') do (set mem1=%%i.%%j.%%k) for /f "tokens=1,2 delims=:" %%i in ('time/t') do (set mem2=%%i:%%j )rem и выводим в лог после чего снова возвращаемся в начало программыecho %mem1%,%mem2%,The network is inaccessible.>>log.csvgoto Loop:Loop2rem если переключатель mem равен 1 и есть пинг, считаем сеть появилась, делаем запись об этом в лог и возвращаемсяif %mem% == 1 (set mem=0) else (goto Loop)for /f "tokens=1,2,3 delims=." %%i in ('date/t') do (set mem1=%%i.%%j.%%k) for /f "tokens=1,2 delims=:" %%i in ('time/t') do (set mem2=%%i:%%j )echo %mem1%,%mem2%,The network is accessible.>>log.csvgoto Loop

З.Ы. Утилиты slee и hidec не входят в состав windows, поэтому прикладываю их отдельно, для удобства можно их кинуть в папку c:\windows\system32\

Изменено пользователем Maikll
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...