Jump to content

Google Earth Için Autoit Ile Hosts Dosyası


radyofon
 Share

Recommended Posts

@radyofon

Text içerikli bir dosyaya veri ekleyeceğin zaman;
1 - Ilgili dosyanın konumunu farklı sistemlere göre bir değişkene ata.
2 - Dosyayı oku ve yazacağın verinin olup, daha önce yazılıp yazılmadığını kontrol et.
3 - Gerekiyorsa verini filewrite komutuyla yaz.

Kısacası yapmak istediğin çok kolay bir şey...
Yapamaz isen, yazılacak satırları burdan yazarsın...

Link to comment
Share on other sites

[quote name='blue_life' date='14 September 2011 - 09:59 ' timestamp='1315983597' post='1079059']
@radyofon

Text içerikli bir dosyaya veri ekleyeceğin zaman;
1 - Ilgili dosyanın konumunu farklı sistemlere göre bir değişkene ata.
2 - Dosyayı oku ve yazacağın verinin olup, daha önce yazılıp yazılmadığını kontrol et.
3 - Gerekiyorsa verini filewrite komutuyla yaz.

Kısacası yapmak istediğin çok kolay bir şey...
Yapamaz isen, yazılacak satırları burdan yazarsın...
[/quote]


Teşekkürler üstad!....

Şöyle bir sorun var:
Ben google earth ve youtube için gerekli host ayarlarını aldım ve notpad içine yazdım. Yapmam gereken Windows\Sytem32\drivers\etc
altındaki hosts dosyasının son satırından sonra yeni bir satır ile başlayıp kopyalamam gerekiyor. Mevcut host dosyasını değiştirsem sorun değil ama mevcut dosyasının
son satırından sonra bunları eklemem gerekiyor. Yani mevcut hosts dosyasını bozmamalıyım.

Link to comment
Share on other sites

[code]
74.125.43.103 youtube.com
74.125.43.103 [url="http://www.youtube.com"]www.youtube.com[/url]
74.125.43.103 [url="http://www.docs.google.com"]www.docs.google.com[/url]
74.125.43.103 [url="http://www.clients1.google.com.tr"]www.clients1.google.com.tr[/url]
74.125.43.103 [url="http://www.translate.google.com.tr"]www.translate.google.com.tr[/url]
74.125.43.103 docs.google.com
74.125.43.103 clients1.google.com.tr
74.125.43.103 translate.google.com.tr
74.125.43.105 [url="http://www.google-analytics.com"]www.google-analytics.com[/url]
74.125.43.105 google-analytics.com
66.102.9.106 youtube.com
66.102.9.106 [url="http://www.youtube.com"]www.youtube.com[/url]
66.102.9.106 docs.google.com
209.85.229.99 youtube.com
209.85.229.99 [url="http://www.youtube.com"]www.youtube.com[/url]
209.85.227.101 translate.google.com
209.85.227.105 maps.google.com
209.85.227.113 pages.google.com
209.85.227.100 video.google.com
209.85.227.138 docs.google.com
209.85.227.101 sites.google.com
209.85.227.100 books.google.com
209.85.227.101 chrome.google.com
209.85.227.113 sketchup.google.com
209.85.227.102 froogle.google.com
209.85.227.102 labs.google.com
209.85.227.102 mars.google.com
209.85.227.139 moon.google.com
209.85.227.113 notebook.google.com
209.85.227.101 toolbar.google.com
209.85.227.102 catalog.google.com
209.85.227.113 codesearch.google.com
209.85.227.113 dir.google.com
209.85.227.138 earth.google.com
209.85.227.139 groups.google.com
209.85.227.100 groups.google.com.tr
209.85.227.139 shopping.google.com
209.85.227.138 sky.google.com
209.85.227.139 support.google.com
209.85.227.139 tools.google.com
209.85.227.102 wap.google.com
209.85.227.100 answers.google.com
209.85.227.112 adwords.google.com
74.125.47.100 code.google.com
74.125.47.101 code.google.com
74.125.47.102 code.google.com
74.125.47.113 code.google.com
74.125.47.138 code.google.com
74.125.47.139 code.google.com
209.85.225.136 picasaweb.google.com
209.85.225.190 picasaweb.google.com
209.85.225.91 picasaweb.google.com
209.85.225.93 picasaweb.google.com
209.85.225.103 maps.gstatic.com
209.85.225.104 maps.gstatic.com
209.85.225.105 maps.gstatic.com
209.85.225.106 maps.gstatic.com
209.85.225.147 maps.gstatic.com
209.85.225.99 maps.gstatic.com
74.125.43.103 maps-api-ssl.google.com
74.125.43.103 maps.google.com
74.125.43.103 gg.google.com
74.125.43.103 chart.apis.google.com
74.125.43.103 clients1.google.com
74.125.43.103 mt0.google.com
74.125.43.103 mt1.google.com
74.125.43.103 khm.google.com
74.125.43.103 khm0.google.com
74.125.43.103 khm1.google.com
74.125.43.103 lh1.ggpht.com
74.125.43.103 lh2.ggpht.com
74.125.43.103 lh3.ggpht.com
74.125.43.103 lh4.ggpht.com
74.125.43.103 lh5.ggpht.com
74.125.43.103 lh6.ggpht.com
74.125.43.103 lh7.ggpht.com
74.125.43.103 lh8.ggpht.com
74.125.43.103 lh9.ggpht.com
74.125.43.103 ggpht.com
74.125.43.103 [url="http://www.google.com"]www.google.com[/url]
74.125.43.103 google.com
74.125.43.103 [url="http://www.google.com.tr"]www.google.com.tr[/url]
74.125.43.103 google.com.tr
72.14.213.93 kh.google.com
72.14.213.103 maps.google.com
72.14.213.113 auth.keyhole.com
74.125.43.103 code.google.com
74.125.43.103 translate.google.com.tr
74.125.43.103 browsersync.google.com
74.125.43.103 google-analystics.com
74.125.53.139 gg.google.com
209.85.229.99 dl.google.com
72.14.204.100 earth.google.com
72.14.204.101 earth.google.com
72.14.204.102 earth.google.com
72.14.204.113 earth.google.com
72.14.204.100 mars.google.com
72.14.204.101 mars.google.com
72.14.204.102 mars.google.com
72.14.204.113 mars.google.com
72.14.204.100 moon.google.com
72.14.204.101 moon.google.com
72.14.204.102 moon.google.com
72.14.204.113 moon.google.com
72.14.204.91 dl.google.com
72.14.204.93 dl.google.com
72.14.204.136 dl.google.com
72.14.204.190 dl.google.com
72.14.204.91 dl-ssl.google.com
72.14.204.93 dl-ssl.google.com
72.14.204.136 dl-ssl.google.com
72.14.204.190 dl-ssl.google.com
64.233.169.91 kh.google.com
64.233.169.93 kh.google.com
64.233.169.136 kh.google.com
64.233.169.190 kh.google.com
72.14.204.99 maps.google.com
72.14.204.103 maps.google.com
72.14.204.104 maps.google.com
72.14.204.147 maps.google.com
64.233.169.91 mt0.google.com
64.233.169.93 mt0.google.com
64.233.169.136 mt0.google.com
64.233.169.190 mt0.google.com
64.233.169.91 mt1.google.com
64.233.169.93 mt1.google.com
64.233.169.136 mt1.google.com
64.233.169.190 mt1.google.com
72.14.204.100 auth.keyhole.com
72.14.204.101 auth.keyhole.com
72.14.204.102 auth.keyhole.com
72.14.204.113 auth.keyhole.com
72.14.204.99 google.com
72.14.204.103 google.com
72.14.204.104 google.com
72.14.204.147 google.com
72.14.204.17 mail.google.com
72.14.204.18 mail.google.com
72.14.204.19 mail.google.com
72.14.204.83 mail.google.com
74.125.93.100 tools.google.com
74.125.93.101 tools.google.com
74.125.93.102 tools.google.com
74.125.93.113 tools.google.com
74.125.93.138 tools.google.com
74.125.93.139 tools.google.com
72.14.204.17 googlemail.l.google.com
72.14.204.99 google-analytics.com
72.14.204.103 google-analytics.com
72.14.204.104 google-analytics.com
72.14.204.147 google-analytics.com
74.125.95.93 youtube.com
74.125.127.93 youtube.com
74.125.43.105 suggestqueries.google.com
74.125.65.118 img.youtube.com
74.125.159.138 www3.l.google.com
74.125.159.139 youtube-ui.l.google.com
216.239.32.10 ns1.google.com
216.239.34.10 ns2.google.com
216.239.36.10 ns3.google.com
216.239.38.10 ns4.google.com
74.125.79.100 uk.youtube.com
74.125.79.100 de.youtube.com
74.125.79.100 translate.google.com
209.85.129.138 suggestqueries.google.com
74.125.159.138 earth.google.com
74.125.159.138 books.google.com
74.125.159.139 code.google.com
74.125.159.139 code.l.google.com
[/code]

Link to comment
Share on other sites

Ben daha önce host dosysıyla ilgili ufak programlar yaptığımdan, ilgili satırları direk yazdırmanın sorunlu olacağını biliyorum.
Misal host dosyasında daha önceden ilgili siteye ait bir ip girilmiş ise, ve siz sonradan alt satırlara ilgili site için yeni ip girerseniz, haliyle önceki ilk ip geçerli olacaktır.

Bu nedenle önce host dosyasını okuyup, sonra eklemek istediğiniz verinin olup olmadığına bakmak zorundasınız.
Önceden ilgili domaine ait ip adresi varsa haliyle bunu yeni ip adresi ile değiştirmeniz gerekiyor.
Neyse fazla uzatmayalım. Ben az önce bir karalama yaptım. Tabi karalamadaki bazı kodları çok çok önce yazmıştım. :)

[codebox];Writeted by BlueLife
#RequireAdmin
#NoTrayIcon

;Rahat kullanabilmek için dosyanın konumu bir değişkene atıyoruz.
Local $HostFile = @WindowsDir & "\System32\drivers\etc\hosts"

;Dosyayı okuyoruz.
Local $BlueReadFile = _Blue_FileRead_To_Array($HostFile, False)

;Ilgili içerikte domainin olup olmadığına bakıyoruz, yoksa alt satıra ekliyoruz.
_Blue_Host_Adline($BlueReadFile, "74.125.43.103", "youtube.com")
_Blue_Host_Adline($BlueReadFile, "74.125.43.103", "www.youtube.com")
_Blue_Host_Adline($BlueReadFile, "74.125.43.103", "www.docs.google.com")
_Blue_Host_Adline($BlueReadFile, "74.125.43.103", "www.clients1.google.com.tr")
; .... Bu şekilde devam edecek
; .... Bu şekilde devam edecek



;Değiştirdiğimiz içeriği yazıyoruz.
_Blue_Host_Write($BlueReadFile, $HostFile)
If @error = 0 Then
MsgBox(64, "", "Işlem başarılı!")
Else
MsgBox(64, "", "Işlem hatalı!")
EndIf

Func _Blue_Host_Adline(ByRef $ArrayList, $IP, $Domain)
Local $Find_Domain, $BLUE_LINE, $BL_Instr
For $I = 1 To $ArrayList[0]
$BLUE_LINE = StringStripWS($ArrayList[$I], 3)

If StringIsDigit(StringLeft($BLUE_LINE, 1)) = 0 Then ContinueLoop

$BL_Instr = StringInStr($BLUE_LINE, Chr(32))
If $BL_Instr = 0 Then $BL_Instr = StringInStr($BLUE_LINE, @TAB)
If $BL_Instr = 0 Then ContinueLoop
$Find_Domain = StringStripWS(StringTrimLeft($BLUE_LINE, $BL_Instr), 3)
If $Find_Domain = $Domain Then
$ArrayList[$I] = $IP & " " & $Domain
Return 1
EndIf
Next
If UBound($ArrayList) >= $ArrayList[0] Then ReDim $ArrayList[$ArrayList[0] + 100]
$ArrayList[0] += 1
$ArrayList[$ArrayList[0]] = $IP & " " & $Domain
Return 1
EndFunc ;==>_Blue_Host_Adline

Func _Blue_Host_Write(ByRef $ArrayList, $TARGET_FILE)
Local $Return = True, $Blue_Write
FileSetAttrib($TARGET_FILE, "-RSH")
Local $File_hwnd = FileOpen($TARGET_FILE, 2)
If $File_hwnd = -1 Then
$Return = False
Else
For $I = 1 To $ArrayList[0]
$Blue_Write &= $ArrayList[$I] & @CRLF
Next
If FileWrite($TARGET_FILE, $Blue_Write) = 0 Then $Return = False
EndIf
FileSetAttrib($TARGET_FILE, "+RSH")
If $Return = False Then Return SetError(1, 0, 0)
Return 1
EndFunc ;==>_Blue_Host_Write

Func _Blue_FileRead_To_Array($TARGET_FILE, $SStripWS = True)
;Dosya|Fazla enterleri silmek
Local $Return_Array[1] = [0]
Local $FileGetSize = FileGetSize($TARGET_FILE)
If $TARGET_FILE = "" Or FileExists($TARGET_FILE) = 0 Or $FileGetSize = 0 Then Return SetError(1, 0, $Return_Array)

Local $File_hwnd = FileOpen($TARGET_FILE, 0)
If $File_hwnd = -1 Then Return SetError(2, 0, $Return_Array)
Local $File_Read = FileRead($File_hwnd, $FileGetSize)
FileClose($File_hwnd)
If StringLen($File_Read) < 1 Then Return SetError(3, 0, $Return_Array)

If StringInStr($File_Read, @LF) Then
$File_Read = StringStripCR($File_Read)
ElseIf StringInStr($File_Read, @CR) Then
$File_Read = StringReplace($File_Read, @CR, @LF)
EndIf

If $SStripWS = True Then
Do
$File_Read = StringReplace($File_Read, @LF & @LF, @LF)
Until @extended = 0
$File_Read = StringStripWS($File_Read, 3)
EndIf
$Return_Array = StringSplit($File_Read, @LF)
Return $Return_Array
EndFunc ;==>_Blue_FileRead_To_Array[/codebox]

Link to comment
Share on other sites

@radyofon

Abi aslında daha kısa kodlama ile de yapılırdı ama, işte malum kontrolleri yapmaz isem sorunlu bir çalışma olacaktı.
Yukarıdaki yazdığım koddaki amacım, tüm satırları sisteme fazla yüklenmeden kontrol etmekti. Bu yüzden biraz satırlar uzattık.
Ya bazende fazla kaptırıyorum işte :nea:

Link to comment
Share on other sites

@blue_life<BR><BR>Üstad program çalıştı ama hosts dosyası yerinden uçtu. <BR><BR>Edit<BR>------<BR>Başka yerden kopyala yapıştır dediğimde salt okunur bir hosts dosyası var diyor ama gizli dosyaları göster dediğim halde göstermiyor.

Edited by radyofon
Link to comment
Share on other sites

@radyofon

Uçma gibi bir şey söz konusu deyildir! Için rahat olsun. Ilgili dosya sistem dosyası olarak işaretlendiğinden göremiyorsundur.
Klasör seçeneklerinde, sistem dosyalarını gizle şeklinde bir seçenek vardır. Onun tıkını da kaldırmalısın!

Link to comment
Share on other sites

@blue_life

Dediğin değil ama "Korunan işletim sistemi dosyalarını gizle" seçeneğinindeki tiki kaldırınca görünüyor fakat böyle olmaması lazım. Dosya normal bir dosya halindeki iken AutoIt kodlarını çalıştırınca bu hale dönüşüyor. Özelliklerini olduğu gibi koruması lazım değil mi?

Edit
------
Sorun 227.satırdaki
FileSetAttrib($TARGET_FILE, "+RSH") kodunda. +RSH yerine -RSH olmalı.

Edited by radyofon
Link to comment
Share on other sites

  • 1 ay sonra...

@blue_life hosts dosyasını daha önceden satırlarını yazıpda masa üstüne bir yere koyup bu şekildede yapılmazmı acaba
[codebox]
#RequireAdmin
FileInstall("C:\Documents and Settings\user\Desktop\hosts",@HomeDrive & "\WINDOWS\system32\drivers\etc\hosts")
veya
#RequireAdmin
FileInstall("C:\Documents and Settings\user\Desktop\hosts",@WindowsDir & "\WINDOWS\system32\drivers\etc\hosts")
[/codebox]

Edited by MeHMeTBeN
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...