Ребята, как написать батник. Чтоб он добавлял адреса в файл HOSTS. Не заменял а именно добавлял в список. Помогите пожалуйста, что-то не получается найти подобное.
» Командная строка, батники, сценарии (bat, cmd)
chp666
Используй >>, вместо >, тогда не будет заменять, а будет добавлять.
Используй >>, вместо >, тогда не будет заменять, а будет добавлять.
chp666
Код:
@echo off
if "%1"=="" goto help
if "%2"=="" goto help
echo %1 %2>>%windir%\system32\drivers\etc\hosts
goto :EOF
:help
echo Usage: addhost.cmd ip_address hostname
Код:
@echo off
if "%1"=="" goto help
if "%2"=="" goto help
echo %1 %2>>%windir%\system32\drivers\etc\hosts
goto :EOF
:help
echo Usage: addhost.cmd ip_address hostname
Elroir
Не получается что-то у меня, сделал батник:
Цитата:
в командной строке вот что пишет:
Цитата:
файл HOSTS не изменился.
Не получается что-то у меня, сделал батник:
Цитата:
@echo off
if "%1"=="" goto help
if "%2"=="" goto help
echo %1 %2>>%windir%\system32\drivers\etc\hosts
goto :EOF
:help
echo Usage: addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
в командной строке вот что пишет:
Цитата:
C:\>hosts.bat
Usage: addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
файл HOSTS не изменился.
chp666
Ты не то делаешь
Внутри батника ничего не надо менять - так как я написал, так и скопируй и сохрани под именем addhost.cmd. А запускать надо так - в командной строке пишешь:
Код:
addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
Ты не то делаешь
Внутри батника ничего не надо менять - так как я написал, так и скопируй и сохрани под именем addhost.cmd. А запускать надо так - в командной строке пишешь:
Код:
addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
Elroir
Огромное спасибо тебе, долго бы я гадал. Мало что про них знаю.
Последний вопросик. Я сделал ещё батник для запуска, чтоб в командной строке не прописывать.
Цитата:
С начало адрес не хотел добавляться, потому что на файле hosts стояли атрибуты "только чтение". Нельзя ли сделать, чтоб в начале этот атрибут убирался? Может прописать что-нибудь в батнике который я создал? Нужно просто добиться максимальной автоматизации, не все могут залезть и отредактировать этот файл hosts.
Огромное спасибо тебе, долго бы я гадал. Мало что про них знаю.
Последний вопросик. Я сделал ещё батник для запуска, чтоб в командной строке не прописывать.
Цитата:
addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
С начало адрес не хотел добавляться, потому что на файле hosts стояли атрибуты "только чтение". Нельзя ли сделать, чтоб в начале этот атрибут убирался? Может прописать что-нибудь в батнике который я создал? Нужно просто добиться максимальной автоматизации, не все могут залезть и отредактировать этот файл hosts.
chp666
Цитата:
Можно - в начало батника добавь строчку:
Код:
attrib -r %windir%\system32\drivers\etc\hosts
Цитата:
Нельзя ли сделать, чтоб в начале этот атрибут убирался?
Можно - в начало батника добавь строчку:
Код:
attrib -r %windir%\system32\drivers\etc\hosts
Elroir
Благодарю вас! Всё убирает, добавляет. Я вот только не понял, как можно добавить несколько адресов за раз, вписывал в батник следующие:
Код: attrib -r %windir%\system32\drivers\etc\hosts
addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
addhost.cmd 192.168.0.1 l2authd.lineage2.com
addhost.cmd 192.168.0.1 nprotect.lineage2.com
Благодарю вас! Всё убирает, добавляет. Я вот только не понял, как можно добавить несколько адресов за раз, вписывал в батник следующие:
Код: attrib -r %windir%\system32\drivers\etc\hosts
addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
addhost.cmd 192.168.0.1 l2authd.lineage2.com
addhost.cmd 192.168.0.1 nprotect.lineage2.com
chp666
Цитата:
Перед каждым вызовом addhost.cmd, надо добавить команды call:
Код:
@echo off
attrib -r %windir%\system32\drivers\etc\hosts
call addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
call addhost.cmd 192.168.0.1 l2authd.lineage2.com
call addhost.cmd 192.168.0.1 nprotect.lineage2.com
Цитата:
Но добавляется только первый адрес, что нужно поправить в этом батнике?
Перед каждым вызовом addhost.cmd, надо добавить команды call:
Код:
@echo off
attrib -r %windir%\system32\drivers\etc\hosts
call addhost.cmd 192.168.0.1 l2testauthd.lineage2.com
call addhost.cmd 192.168.0.1 l2authd.lineage2.com
call addhost.cmd 192.168.0.1 nprotect.lineage2.com
Спасибо огромное! Очень хорошо что есть данный форум и такие люди.
Не подскажeте - можно ли из комстроки получить значение параметра в реестре windows?
ZloyBehemoth
Можно - посмотри команду reg query /?
Можно - посмотри команду reg query /?
Elroir
Цитата:
А эта программа reg живет где? У меня в Win2000 такой вроде нет.
Цитата:
Можно - посмотри команду reg query /?
А эта программа reg живет где? У меня в Win2000 такой вроде нет.
ZloyBehemoth
Цитата:
Пролет . Эта утилита, действительно, в Win2000 не живет - только в XP/2003.
Но она должна быть в Resource Kit-е.
Цитата:
А эта программа reg живет где? У меня в Win2000 такой вроде нет.
Пролет . Эта утилита, действительно, в Win2000 не живет - только в XP/2003.
Но она должна быть в Resource Kit-е.
ZloyBehemoth
Elroir
А если её скопировать с ХР на 2000?
Elroir
А если её скопировать с ХР на 2000?
Elroir
Цитата:
Хорошо. Погляжу в ките.
Вообще, это только пол-дела. Все обстоит так: есть параметры, которые надо записать в реестр, конкретно это настройки Outlook Express. Делать это нужно для каждого пользователя, пример внизу:
[HKEY_CURRENT_USER\Identities\{FA37FAAF-61F2-4A95-8C1E-613E0A4A1084}\Software\Microsoft\Outlook Express\5.0]
;при запуске открывать входящие
"Launch Inbox"=dword:00000001
Проблема в том, что вместо значения {FA37FAAF-61F2-4A95-8C1E-613E0A4A1084} в этот рег-файл нужно вписывать значение ИД текущего пользователя, которое находится по адресу:
[HKEY_CURRENT_USER\Identities]
"Default User ID"=
Т.е. из реестра нужно взять значение и записать его в файл в нужном месте. Можно ли это как нибудь сделать из комстроки?
Цитата:
Но она должна быть в Resource Kit-е.
Хорошо. Погляжу в ките.
Вообще, это только пол-дела. Все обстоит так: есть параметры, которые надо записать в реестр, конкретно это настройки Outlook Express. Делать это нужно для каждого пользователя, пример внизу:
[HKEY_CURRENT_USER\Identities\{FA37FAAF-61F2-4A95-8C1E-613E0A4A1084}\Software\Microsoft\Outlook Express\5.0]
;при запуске открывать входящие
"Launch Inbox"=dword:00000001
Проблема в том, что вместо значения {FA37FAAF-61F2-4A95-8C1E-613E0A4A1084} в этот рег-файл нужно вписывать значение ИД текущего пользователя, которое находится по адресу:
[HKEY_CURRENT_USER\Identities]
"Default User ID"=
Т.е. из реестра нужно взять значение и записать его в файл в нужном месте. Можно ли это как нибудь сделать из комстроки?
ZloyBehemoth
Можно обойтись обычным RegEdit-ом
1. Экспорт нужной ветки в файл
2. Разбор его по FOR /F с разделителем = в итоге получим Ключ (Default User ID) и значение
3. Потом через Echo создаем .reg и импортируем его
ЗЫ. Сейчас нет времени написать сам батничек
Можно обойтись обычным RegEdit-ом
1. Экспорт нужной ветки в файл
2. Разбор его по FOR /F с разделителем = в итоге получим Ключ (Default User ID) и значение
3. Потом через Echo создаем .reg и импортируем его
ЗЫ. Сейчас нет времени написать сам батничек
KapralBel
Я в принципе уже сам начал понимать, но вот что неясно - как из файла со строками
-------------------------------------
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Identities
Default User ID REG_SZ {D6E87B2F-2EE7-4523-8EAC-DEFE7C37442F}
-------------------------------------
Сформировать строку вида:
[HKEY_CURRENT_USER\Identities\{D6E87B2F-2EE7-4523-8EAC-DEFE7C37442F}\Software\Microsoft\Outlook Express\5.0
которую уже дальше вставлять в конечный файл по echo?
Я в принципе уже сам начал понимать, но вот что неясно - как из файла со строками
-------------------------------------
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Identities
Default User ID REG_SZ {D6E87B2F-2EE7-4523-8EAC-DEFE7C37442F}
-------------------------------------
Сформировать строку вида:
[HKEY_CURRENT_USER\Identities\{D6E87B2F-2EE7-4523-8EAC-DEFE7C37442F}\Software\Microsoft\Outlook Express\5.0
которую уже дальше вставлять в конечный файл по echo?
шапка включена
ZloyBehemoth
А если так
regedit /ea r.reg HKEY_CURRENT_USER\Identities
Код: REGEDIT4
[HKEY_CURRENT_USER\Identities]
"Identity Ordinal"=dword:00000002
"Migrated5"=dword:00000001
"Last Username"="Основное удостоверение"
"Last User ID"="{F8D83A84-188F-404B-B645-0BC3B4035EA4}"
"Default User ID"="{F8D83A84-188F-404B-B645-0BC3B4035EA4}"
"Identity Login"=dword:00098053
А если так
regedit /ea r.reg HKEY_CURRENT_USER\Identities
Код: REGEDIT4
[HKEY_CURRENT_USER\Identities]
"Identity Ordinal"=dword:00000002
"Migrated5"=dword:00000001
"Last Username"="Основное удостоверение"
"Last User ID"="{F8D83A84-188F-404B-B645-0BC3B4035EA4}"
"Default User ID"="{F8D83A84-188F-404B-B645-0BC3B4035EA4}"
"Identity Login"=dword:00098053
ZloyBehemoth
Код:
setlocal
for /f "tokens=5" %%a in (identity.reg) do set id=%%a
echo [HKEY_CURRENT_USER\Identities\%id%\Software\Microsoft\Outlook Express\5.0]>>importid.reg
Код:
setlocal
for /f "tokens=5" %%a in (identity.reg) do set id=%%a
echo [HKEY_CURRENT_USER\Identities\%id%\Software\Microsoft\Outlook Express\5.0]>>importid.reg
ZloyBehemoth
Цитата:
Не смотри в ките, у той reg.exe синтаксис другой. Бери из XP.
Цитата:
Код:
FOR /F "TOKENS=5" %%a IN ('REG QUERY "HKCU\Identities" /v "Default User ID"') DO SET "USER_ID=%%a"
Цитата:
Хорошо. Погляжу в ките.
Не смотри в ките, у той reg.exe синтаксис другой. Бери из XP.
Цитата:
Проблема в том, что вместо значения {FA37FAAF-61F2-4A95-8C1E-613E0A4A1084} в этот рег-файл нужно вписывать значение ИД текущего пользователя,
Код:
FOR /F "TOKENS=5" %%a IN ('REG QUERY "HKCU\Identities" /v "Default User ID"') DO SET "USER_ID=%%a"
KapralBel
igor_andreev
Какие мы все быстрые
Цитата:
Не поверите - только сегодня подумал, что теме не мешало бы шапку включить!
igor_andreev
Какие мы все быстрые
Цитата:
шапка включена
Не поверите - только сегодня подумал, что теме не мешало бы шапку включить!
igor_andreev
Elroir
Ну что шапку будем создавать заново или передерем с параллельного топика?
Elroir
Ну что шапку будем создавать заново или передерем с параллельного топика?
KapralBel
Цитата:
Их вообще можно совместить, потому как задачи в них решаются практически одинаковые - батники. Или этот закрыть, и все батники решать в Программах.
Кстати, этот топик и "Задачи на bat-файлах" представляют собой несомненный интерес для маркетологов Для меня всегда было загадкой, почему этот топик существует с 2002 года, название у него очень характерное(Командная строка, батники\сценарии (bat, cmd)), а вопросов в нем всего на 50 с небольшим страниц.
В то время как такой же топик "Задачи на bat-файлах", созданный в ноябре 2005 сразу стал дико популярен и скоро до 200 страниц дойдет.
Цитата:
Ну что шапку будем создавать заново или передерем с параллельного топика?
Их вообще можно совместить, потому как задачи в них решаются практически одинаковые - батники. Или этот закрыть, и все батники решать в Программах.
Кстати, этот топик и "Задачи на bat-файлах" представляют собой несомненный интерес для маркетологов Для меня всегда было загадкой, почему этот топик существует с 2002 года, название у него очень характерное(Командная строка, батники\сценарии (bat, cmd)), а вопросов в нем всего на 50 с небольшим страниц.
В то время как такой же топик "Задачи на bat-файлах", созданный в ноябре 2005 сразу стал дико популярен и скоро до 200 страниц дойдет.
igor_andreev
неверное позиционирование продукта
Все параллельный находится более правильно в Винде
неверное позиционирование продукта
Все параллельный находится более правильно в Винде
KapralBel
Передерем!
Максимум - всегда можно ее изменить. Правда как-то не патриотично () все ссылки на решенные задачи, из другого топика давать. Надо только общую ссылку на "Задачи на bat-файлах" и "Полезные ссылки", а потом уже добавлять потихоньку.
igor_andreev
Цитата:
В том-то и дело -
Цитата:
С такими вопросами, люди скорее в "Операционные системы" идут.
Передерем!
Максимум - всегда можно ее изменить. Правда как-то не патриотично () все ссылки на решенные задачи, из другого топика давать. Надо только общую ссылку на "Задачи на bat-файлах" и "Полезные ссылки", а потом уже добавлять потихоньку.
igor_andreev
Цитата:
Для меня всегда было загадкой, почему этот топик существует с 2002 года, название у него очень характерное(Командная строка, батники\сценарии (bat, cmd)), а вопросов в нем всего на 50 с небольшим страниц.
В том-то и дело -
Цитата:
неверное позиционирование продукта
С такими вопросами, люди скорее в "Операционные системы" идут.
Elroir
Цитата:
Ага сами у себя украли
Цитата:
Согласен
ЗЫ. Мое мнение - эти 2 топика объединить
или создать подфорум - программирование на скриптах
Батнички, WSH, powershell и т.д.
Цитата:
Правда как-то не патриотично () все ссылки на решенные задачи, из другого топика давать
Ага сами у себя украли
Цитата:
Надо только общую ссылку на "Задачи на bat-файлах" и "Полезные ссылки", а потом уже добавлять потихоньку.
Согласен
ЗЫ. Мое мнение - эти 2 топика объединить
или создать подфорум - программирование на скриптах
Батнички, WSH, powershell и т.д.
KapralBel
Цитата:
Это как? Перенести все здешние страницы в "Задачи на bat-файлах"?
Цитата:
Люди не найдут - так эти темы хотя-бы в "Microsoft Windows" на виду...
P.S. Сделал шапку (передрал )
Цитата:
Мое мнение - эти 2 топика объединить
Это как? Перенести все здешние страницы в "Задачи на bat-файлах"?
Цитата:
или создать подфорум
Люди не найдут - так эти темы хотя-бы в "Microsoft Windows" на виду...
P.S. Сделал шапку (передрал )
Цитата:
или создать подфорум - программирование на скриптах
Батнички, WSH, powershell и т.д.
Во, полностью согласен! Логично бы было, еслиб все скриптовые языки в одном месте были.
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
Предыдущая тема: Problemi s zagruzkoy XP!
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.