Loading…

جزیره شبکه و زیرساخت

امتیازات این مطلب
هیچ کاربری وجود ندارد
سوال: ساخت batc file برای تغییر فایل hosts
سلام دوستان
میخوام یه batch file درست کنم وقتی کلاینت اجراش کرد بره تو مسیر C:\Windows\System32\drivers\etc\hosts و یک ایپی و اسم اضافه کنه
ممنون میشم کمکم کنید
از همه مهم تر فقط یک بار اجرا بشه
  • ارسال شده توسط:
  • زمان ارسال: 11 ماه قبل
کد زیر یک مثاله ، البته دسترسی ّ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


این پست توسط هیچ کس به عنوان جواب انتخاب شده است


ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
  • ارسال شده توسط:
  • زمان ارسال: 11 ماه قبل


@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

این پست توسط هیچ کس به عنوان جواب انتخاب شده است


علی قلعه بان - دانشجوی دکتری فناوری اطلاعات

ITPRO باشید و فرهنگ ITPRO را به دیگران نیز معرفی کنید
برای ارسال پست وارد شوید.