Показать полную графическую версию : Копирование строки в hosts
Фартовый
02-07-2013, 22:58
Всем здравствуйте!И прошу помощи по созданию .bat файла.
Пример:
1.При запуске батник прописывает в файле hosts который лежит по адресу C:\Windows\System32\drivers\etc\hosts строку : 127.0.0.1 www.site.com
2.Идет отсчет 5...4....3....2....1... и запускается программа к примеру по адресу C:\progs1.exe
3.Далее в выше упомянутом файле hosts переписывается строка 127.0.0.1 www.site.com которую мы писали раньше, на строку #127.0.0.1 www.site.com или полностью удаляет строку записанную в пункте 1.
Всем спасибо за внимание!
41275jur
03-07-2013, 00:57
Попробуй так. Только при выключенном Антивирусе.
SET NEWLINE=^& echo.
FIND /C /I "www.site.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^127.0.0.1 www.site.com>>%WINDIR%\system32\drivers\etc\hosts
Фартовый
03-07-2013, 01:46
Ну этот код прописывает в файле hosts 127.0.0.1 www.site.com. (http://www.site.com.Начало) Начало есть:)
sunnykey
05-07-2013, 11:43
#Powershell script.
#Don't forget unlock script executing by
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension
function ModifyHosts($file,[switch] $NeedComment) {
$tmpFile="$file"+"1"
Get-Content -Path $file | Where-Object {$_ -ne ""} | Select-String -pattern "127.0.0.1 www.site.com" -NotMatch | `
Out-File -FilePath $tmpFile
if ($NeedComment) {
"#127.0.0.1 www.site.com" | Out-File -FilePath $tmpFile -Append
} else {
"127.0.0.1 www.site.com" | Out-File -FilePath $tmpFile -Append
}
Remove-Item -Path $file -Force
Rename-Item -Path $tmpFile -NewName $file
}
$HostsFilePath='$Env:SystemRoot\system32\drivers\etc\hosts'
ModifyHosts -file $HostsFilePath
Start-Sleep -Seconds 5
Start-Process -FilePath "calc.exe"
Start-Sleep -Seconds 5
ModifyHosts -file $HostsFilePath -NeedComment
Фартовый
06-07-2013, 14:41
Не плохо, но хотелось бы именно .bat файл а не PowerShell!
Фартовый
08-07-2013, 03:17
Код:
@echo off
setlocal
pushd "%systemroot%\system32\drivers\etc"
copy hosts hosts.tmp
:write
1>nul findstr "127\.0\.0\.1.*www\.site\.com" hosts && (
1>hosts.tmp findstr /v "127\.0\.0\.1.*www\.site\.com" hosts
1>nul move hosts.tmp hosts
popd
goto:eof
) || (
1>>hosts.tmp echo 127.0.0.1 www.site.com
1>nul move hosts.tmp hosts
)
timeout /t 5
start calc
goto:write »
Че то не работает,
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.