חסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch
-
@זונדל-גרנד אמר בחסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch:
@yosi44 את החיפוש
כי כמעט כל אתר עובר דרך גוגלאין אפשרות לא לחסום את גוגל אבל לחסום את החיפוש כי בהוסט ניתן לחסום רק דומיין שלם או תת דומיין
והחיפוש מתחיל google.com\search
ובשביל לחסום את זה יש לחסום את google.com
את החדשות למשל ניתן לחסום מבלי לחסום שום דבר נוסף כי הכתובת היא news.google.com -
@yosi44 זה מה שאני מחפש איך לחסום את Google.com וזה יחסום את כל הדברים שקשורים לגוגל.
(זה אותו דומיין) -
@yosi44 @יוסי-מחשבים @shloimy אני רוצה ליצור קובץ שיזהה אם בקובץ HOSTS יש או אין את שורת החסימה (במקרה שלי יוטיוב)
אני מנסה להשתמש בשורה הזאת:findstr /C:"www.youtube.com" %SystemRoot%\system32\drivers\etc\hosts
משום מה זה לא מוצא.
אם אני כותב לו לחפש אות או סימן מסויים הוא כן מוצא אותו... רק שיש כמה תווים לחיפוש הוא לא מוצא...
יודעים למה? -
@oryadaniely אמר בחסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch:
יודעים למה?
כי באמת זה לא נמצא במסמך, אם תכניס במסמך www.youtube.com הוא ימצא...
-
@יוסי-מחשבים דווקא לא קשור. ברגע ששיניתי את הפקודה לFIND זה עבד בלי בעיות - לא יודע למה...
כעת הקוד הוא::start move %SystemRoot%\system32\drivers\etc\hosts %SystemRoot%\system32\drivers\hosts.txt move %SystemRoot%\system32\drivers\hosts %SystemRoot%\system32\drivers\etc\hosts rename %SystemRoot%\system32\drivers\hosts.txt hosts Taskkill /F /IM chrome.exe FIND /i "www.youtube.com" "C:\Windows\System32\drivers\etc\hosts" >nul 2>&1 if errorlevel 1 ( timeout /T 3600 goto start )
עכשיו הבעיה שלי זה שאני רוצה שאם החסימה לא פעילה אז זה ינעל אוטומטית לאחר שעה (שורות 7-11 בקוד). אבל גם החלון נשאר פתוח עד שהוא מסיים את זמן ההמתנה (לזה אפשר להמיר לEXE ולטפל בזה שהסקריפט יהיה מוסתר לגמרי) אבל אני מפסיד את האופציה של לשלוט בזמן הפתיחה (האידיאל זה שאם אני פותח את החסימה אז הוא שואל אותי לכמה זמן אני מעוניין לפתוח ומיד אחרי זה המחשב מעלים את הסקריפט שלא יראה)
יש לך מושג איך אפשר לגרום לזה לקרות? -
@oryadaniely אמר בחסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch:
לזה אפשר להמיר לEXE ולטפל בזה שהסקריפט יהיה מוסתר לגמרי
@cd /d "%~dp0" && if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs" && reg.exe query "HKU\S-1-5-19" 1>nul 2>&1 ( cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "runas", 0 >> "%temp%\getadmin.vbs" && "%temp%\getadmin.vbs" && exit )) else (cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "", 0 > "%temp%\getadmin.vbs" && "%temp%\getadmin.vbs" && exit)
תכניס בהתחלה.
זה מחייב הפעלה כמנהל + מריץ מוסתר. -
@oryadaniely אמר בחסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch:
@yosi44 אם רוצים שלא יהיה צורך בהפעלה מחדש של המחשב אפשר להוסיף שורה:
Taskkill /F /IM chrome.exe
כמובן תלוי בסוג הדפדפן שיש לך..
ipconfig /flushdns
-
@oryadaniely זה במקום לסגור את כרום.
-
@Men770 אמר בחסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch:
@oryadaniely איפה בקוד אתה שואל את המשתמש לכמה זמן לפתוח?
זה הבעיה - שאת זה אני לא כ"כ יודע איך עושים אם הקובץ מוסתר...
אם היה אפשרות שמיד לאחר שמזינים את הזמן הקובץ נהיה מוסתר זה היה מסדר הרבה בעיות.. -
@echo off set /p "OPEN_TIME=Enter time: " @cd /d "%~dp0" && if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs" && reg.exe query "HKU\S-1-5-19" 1>nul 2>&1 ( cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "runas", 0 >> "%temp%\getadmin.vbs" && "%temp%\getadmin.vbs" && exit )) else (cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && ""%~s0""", "", "", 0 > "%temp%\getadmin.vbs" && "%temp%\getadmin.vbs" && exit) :start move %SystemRoot%\system32\drivers\etc\hosts %SystemRoot%\system32\drivers\hosts.txt move %SystemRoot%\system32\drivers\hosts %SystemRoot%\system32\drivers\etc\hosts rename %SystemRoot%\system32\drivers\hosts.txt hosts ipconfig /flushdns FIND /i "www.youtube.com" "C:\Windows\System32\drivers\etc\hosts" >nul 2>&1 if errorlevel 1 ( timeout /T %OPEN_TIME% goto start )
נ.ב. כתבתי מהזיכרון, לא בדקתי בפועל.
-
@Men770 אמר בחסימת אינטרנט דרך קובץ HOSTS - בעזרת קובץ batch:
ipconfig /flushdns
הקוד הזה לא עובד... יש לך מושג למה?