bat-файл ставит атрибут
Здравствуйте. Есть батник который удаляет нужную мне строчку в файле хост. Но одна проблема-после удаления он ставит атрибут "только для чтения". Что нужно подкорректировать в батнике что бы он просто удалял строчку нужную и не ставил никаких атрибутов. Собственно код:
Код:
@echo off
setlocal EnableDelayedExpansion
set host_file=c:\Windows\System32\drivers\etc\hosts
set $host_file=hosts
set "url_name=127.0.0.1 www.mail.ru"
for /f "tokens=1* delims=]" %%A in ('find /v /n "" ^<"%host_file%"') do (
set "line=%%B"
if "!line!"=="%url_name%" (>>%$host_file% echo.) else (>>%$host_file% echo.!line!)
)
del /q %host_file%
move "%$host_file%" "%host_file%"
attrib +R +S +H %host_file%
exit /b
pause
|
Закомментируйте строку с «attrib».
|
Цитата:
Цитата Iska
Закомментируйте строку с «attrib». »
|
Закомментировал. Теперь батник не работает При запуске появляется черный экран консольный. И это всё...
|
DarkHart, Вы не забыли снять атрибуты «Только для чтения», «Скрытый», «Системный» с Вашего файла «hosts», которые были установлены предыдущим исполнением Вашего пакетного файла?
|
Iska, не забыл. Я их снял. Суть такова-одним батником я добавляю нужную строчку в файл хост(который уже без атрибутов). А этим батником я удаляю эту строчку. И беда в том что он ставит атрибут "только для чтения". В этом случае первый батник который добавляет строчку не работает
|
DarkHart, Вы либо что-то путаете, либо недоговариваете. Я взял Ваш код, закомментировал «attrib +R +S +H %host_file%» и исполнил его. Без каких-либо проблем.
|
Как называется батник и как вы его запускаете?
|
Код:
@echo off
set "hosts=%windir%\drivers\etc\hosts"
set "url_name=127.0.0.1 www.mail.ru"
findstr/ilvc:"%url_name%" "%hosts%">.tmp& type .tmp>"%hosts%"& del .tmp
exit/b
|
Время: 21:16.
© OSzone.net 2001-