50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

ساخت batc file برای تغییر فایل hosts

سلام دوستان

میخوام یه batch file درست کنم وقتی کلاینت اجراش کرد بره تو مسیر C:\Windows\System32\drivers\etc\hosts و یک ایپی و اسم اضافه کنه

ممنون میشم کمکم کنید

از همه مهم تر فقط یک بار اجرا بشه

پرسیده شده در 1395/01/21 توسط

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

پاسخ در 1395/01/21 توسط
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
پاسخ در 1395/01/21 توسط

پاسخ شما