0
ساخت batc file برای تغییر فایل hosts
سلام دوستان
میخوام یه batch file درست کنم وقتی کلاینت اجراش کرد بره تو مسیر C:\Windows\System32\drivers\etc\hosts و یک ایپی و اسم اضافه کنه
ممنون میشم کمکم کنید
از همه مهم تر فقط یک بار اجرا بشه
2 پاسخ
0
کد زیر یک مثاله ، البته دسترسی ّFull به فایل Host هم شرطه
@echo off
set hostpath=%windir%\System32\drivers\etc\hosts
echo 62.116.159.4 ns1.intranet.de >> %hostpath%
echo 217.160.113.37 ns2.intranet.de >> %hostpath%
echo 89.146.248.4 ns3.intranet.de >> %hostpath%
echo 74.208.254.4 ns4.intranet.de >> %hostpath%
exit
1
@echo off
مسیر فایل هاست در متغیر قرار میگیرد
set "hostpath=%systemroot%\system32\drivers\etc"
set "hostfile=hosts"
فایل هاست بطور معمول فقط خواندنی هستش با دستور زیر قابل ویرایش میشود
attrib -r -s -h "%hostpath%\%hostfile%"
مقدار و یا ای پی که دنبالش هستید
set find=OLD IP
ای پی جدیدی که میخاهید جایگزین قدیمی شود
set replace=NEW IP
ایجاد حلقه برای جستجو
for /f "delims=" %%a in ('type "%hostpath%\%hostfile%"') do (
set "string=%%a"
set "string=!string:%find%=%replace%!"
>> "newfile.txt" echo !string!
)
move /y "newfile.txt" "%hostpath%\%hostfile%"
فایل را دوباره بعد از ویرایش و تغییرات به حالت فقط خواندنی برگردانید با دستور زیر
attrib +r "%hostpath%\%hostfile%"
echo Done.
pause