Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.


drbob500

30 posts

Geek


#119022 17-May-2013 12:50
Send private message

I have a batch file I have done that adds blocked websites to the host file on a clients machines, all works as it should, just wondering if there is a way to force the batch file to not re add an entry if it already exists,

I want it to work so every time I add a new site to the batch file it will either skip or over write the existing entry so it doesn't keep adding the same thing every time its run

Create new topic

gzt

gzt
18756 posts

Uber Geek
+1 received by user: 7883

Lifetime subscriber

  #821445 18-May-2013 08:03
Send private message

There is. Maybe post your existing batch to get an idea of how you are doing things and how it can be improved.



drbob500

30 posts

Geek


  #821461 18-May-2013 09:11
Send private message

this is the text I am using its really basic but it does the trick,

@echo off

set hostspath=%windir%\System32\drivers\etc\hosts

echo 127.0.0.1 www.facebook.com >> %hostspath%
echo 127.0.0.1 www.trademe.co.nz >> %hostspath%

exit

1080p
1332 posts

Uber Geek
+1 received by user: 152
Inactive user


  #821491 18-May-2013 10:36
Send private message

I haven't worked with batch files much before but StackOverflow is a good place for answer to questions like these. From a simple search you might try conditionally searching the hosts file for the URL:


findstr /c:"127.0.0.1 www.facebook.com" "C:\Windows\System32\drivers\etc\hosts" >nul 2>&1
if errorlevel 1 echo 127.0.0.1 www.facebook.com >> C:\Windows\System32\drivers\etc\hosts


Code untested, so proceed with caution. This solution becomes a pain when you have a large list of sites to check but then I think Python might be a better solution in that situation.



Virgil
Dangerous Chocolate
212 posts

Master Geek
+1 received by user: 66

ID Verified
Lifetime subscriber

  #821513 18-May-2013 11:03
Send private message

Would it be easier to just update a master HOSTS file that you control, and overwrite the client version with your master every time there is an update?

Or is there possibly other things in the client's file which you are not aware of or have no control over?

Cheers





Lurking ...


Ragnor
8279 posts

Uber Geek
+1 received by user: 585

Trusted

  #822187 20-May-2013 02:53
Send private message

Using the hosts file to break dns for domain names generally isn't a good idea.

If you must block ads why not just use an ad block plugin in the browser?





jaymz
1136 posts

Uber Geek
+1 received by user: 76


  #822235 20-May-2013 09:25
Send private message

Is this on a workgroup or a domain?

Do you have a central DNS server that you could use to apply the changes to instead?

What is the reason for blocking these sites? Is it a company environment, or a internet cafe type environment.

If you are using a domain, i suggest using a web proxy like SQUID that will allow you to block websites, and you can enforce the proxy using group policy.


 
 
 

Move to New Zealand's best fibre broadband service (affiliate link). Free setup code: R587125ERQ6VE. Note that to use Quic Broadband you must be comfortable with configuring your own router.
drbob500

30 posts

Geek


  #822382 20-May-2013 12:56
Send private message

they have an old SBS server that's being decommissioned and have gone cloud based for everything, they just want to stop employee's wasting time being non productive, so thought doing it this way would be a quicker easy fix

Create new topic








Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.