Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[HELP] Aggiunger informazioni a un file Host
#1
Salve a tutti, è un po' di tempo che mi diverto a cercare informazioni su gli hosts di windows... ma vorrei creare uno script (in dos ancora meglio) che mi permetta di aggiungere altre "righe" a il file già presente... non vorrei sostituirlo ma mantener il solito... sinceramente non saprei da dove partire...

per sostituire il file usavo Winrar e facevo estrarre il file nel percorso... oppure questo script (che avevo trovato a giro):

Codice:
@ECHO OFF

:: ------------EXTRA CODE TO CHANGE DIRECTORY-------------
echo %~n0%~x0 started from Directory: %~d0%~p0
%~d0
cd %~d0%~p0
:: -------------------------------------------------------

IF NOT EXIST HOSTS GOTO noHostsFile
IF "%OS%"=="Windows_NT" GOTO HostsFile
IF EXIST %winbootdir%\HOSTS*.* ATTRIB +A -H -R -S %winbootdir%\HOSTS*.*>NUL
IF EXIST %winbootdir%\HOSTS.MVP DEL %winbootdir%\HOSTS.MVP>NUL
IF EXIST %winbootdir%\HOSTS REN %winbootdir%\HOSTS HOSTS.MVP>NUL
IF EXIST %winbootdir%\NUL COPY /Y HOSTS %winbootdir%>NUL
GOTO noHostsFile
:HostsFile
IF EXIST %windir%\SYSTEM32\DRIVERS\ETC\HOSTS*.* ATTRIB +A -H -R -S %windir%\SYSTEM32\DRIVERS\ETC\HOSTS*.*>NUL
IF EXIST %windir%\SYSTEM32\DRIVERS\ETC\HOSTS.MVP DEL %windir%\SYSTEM32\DRIVERS\ETC\HOSTS.MVP>NUL
IF EXIST %windir%\SYSTEM32\DRIVERS\ETC\HOSTS REN %windir%\SYSTEM32\DRIVERS\ETC\HOSTS HOSTS.MVP>NUL
IF EXIST %windir%\SYSTEM32\DRIVERS\ETC\NUL COPY /Y HOSTS %windir%\SYSTEM32\DRIVERS\ETC>NUL
    color 1F
    echo.
    echo  ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
    echo  Ý                                          ÚÄÄÄ¿Þ
    echo  Ý      THE HOSTS FILE IS NOW UPDATED       ³ û ³Þ
    echo  Ý                                          ÀÄÄÄÙÞ
    echo. ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
    echo.
    echo.
    echo. Previous version saved and renamed to HOSTS.MVP
:noHostsFile
Pause
EXIT
Cita messaggio
#2
Praticamente un editor?..
IN COSTRUZIONE
Cita messaggio
#3
si, ma non deve aprirlo ma solo aggiornare informazioni in maniera silente!
Cita messaggio
#4
Io direi che si possa facilmente realizzare utilizzando il semplice comando COPY.

Fab, come sai non ho modo per testarlo su Win 7, e quindi tantomeno su un OS 64bit, ma non credo ci dovrebbero essere problemi.
Anche in OS 64bit non mi pare che il file HOSTS sia usato da applicazioni a 32bit, quindi la cartella dovrebbe essere la stessa.

Crea prima un file di tipo testo e chiamalo poi HOSTSMY (senza estensione) con la lista degli IP da aggiungere all'HOSTS.
Esempio :
Codice:
38.25.63.10    x.acme.com
127.0.10.10    localhosting
bisogna assicurarsi di concludere il file con una riga vuota, o altrimenti nelle successive applicazioni ci sarebbe una sovrapposizione di dati.

Poi con un file .CMD cosi' si risolve la cosa (su XP funziona benissimo...) :
Codice:
@echo off

SET UPDHOST=%systemroot%\SYSTEM32\DRIVERS\ETC\

IF "%OS%"=="Windows_NT" COPY /Y %~dp0HOSTSMY %UPDHOST%>NUL
IF EXIST %UPDHOST%HOSTS*.* ATTRIB +A -H -R -S %UPDHOST%HOSTS*.*>NUL
IF EXIST %UPDHOST%HOSTS.OLD DEL /Q %UPDHOST%HOSTS.OLD>NUL
IF EXIST %UPDHOST%HOSTS REN %UPDHOST%HOSTS HOSTS.OLD>NUL
IF EXIST %UPDHOST%HOSTSMY COPY /Y %UPDHOST%HOST*.* %UPDHOST%HOSTS /B>NUL
DEL /Q %UPDHOST%HOSTSMY>NUL
ATTRIB +A +H +R +S %UPDHOST%HOSTS*.*>NUL

   color 1E
   echo.
   echo.  ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
   echo.  Ý                                             Þ
   echo.  Ý      IL FILE HOSTS E' STATO AGGIORNATO      Þ
   echo.  Ý                                             Þ
   echo.  ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
   echo.
   echo.
   echo. La precedente versione e' salvata col nome HOSTS.OLD

pause

Ciao
Clay
[Immagine: 9SqHa.png]
"La mente è come un paracadute. Funziona solo se si apre."-(A.Einstein)-
"E' difficile sapere cosa sia la verità, ma a volte è molto facile riconoscere una falsità."-(A.Einstein)-
"La differenza fra la genialità e la stupidità è che la genialità ha i dei limiti."-(A.Einstein)-
"Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."-(A.Einstein)-
"Tutti sanno che una cosa é impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa."-(A.Einstein)-
Cita messaggio
#5
grazie, molto gentile... provo e vi faccio sapere! :mrgreen:
Cita messaggio
#6
Io ieri notte ti avevo creato un programmino che ti permettesse di aggiungere gli ip e poi si schiacciava un tasto e via.. xD
IN COSTRUZIONE
Cita messaggio
#7
manda... pure, tutto è ben accetto!
Cita messaggio
#8
Clay65 Ha scritto:Poi con un file .CMD cosi' si risolve la cosa (su XP funziona benissimo...) :
Codice:
@echo off

SET UPDHOST=%systemroot%\SYSTEM32\DRIVERS\ETC\

IF "%OS%"=="Windows_NT" COPY /Y %~dp0HOSTSMY %UPDHOST%>NUL
IF EXIST %UPDHOST%HOSTS*.* ATTRIB +A -H -R -S %UPDHOST%HOSTS*.*>NUL
IF EXIST %UPDHOST%HOSTS.OLD DEL /Q %UPDHOST%HOSTS.OLD>NUL
IF EXIST %UPDHOST%HOSTS REN %UPDHOST%HOSTS HOSTS.OLD>NUL
IF EXIST %UPDHOST%HOSTSMY COPY /Y %UPDHOST%HOST*.* %UPDHOST%HOSTS /B>NUL
DEL /Q %UPDHOST%HOSTSMY>NUL
ATTRIB +A +H +R +S %UPDHOST%HOSTS*.*>NUL

   color 1E
   echo.
   echo.  ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
   echo.  Ý                                             Þ
   echo.  Ý      IL FILE HOSTS E' STATO AGGIORNATO      Þ
   echo.  Ý                                             Þ
   echo.  ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
   echo.
   echo.
   echo. La precedente versione e' salvata col nome HOSTS.OLD

pause

Ciao
Clay
su XP mi spariscono tutti i files, HOSTS, HOSTSMY e HOSTS.OLD non si trovano più nella cartella etc...
io ho copiato bella solita cartella i file .BAT e HOSTSMY

:?
Cita messaggio
#9
Fab, HOSTSMY viene DELetato, gli altri magari non li vedi.... ma ci sono ! Tongue

se guardi l'ultima riga c'e' il comando ATTRIB che assegna gli attributi ai file HOSTS e HOSTS.OLD in modo che risultino file di Sistema, Nascosti e Sola Lettura.
E' il modo piu' facile per difendersi da eventuali script malevoli che cerchino di modificare il file HOSTS, ed e' anche il motivo per cui il primo "IF EXIST" e' dedicato
proprio a rimuovere tali attributi per poter modificare o cancellare tali file.

Questo script l'ho fatto in modo da poterlo lanciare da qualunque posizione, basta solo che il .CMD e HOSTSMY siano nella solita cartella.
Per le mie prove infatti li ho messi in un RAR SFX che si estrae in TEMP.

Se vuoi controllare gli "effetti" puoi commentare la riga "ATTRIB..." (metti un ";" all'inizio della stessa).
[Immagine: 9SqHa.png]
"La mente è come un paracadute. Funziona solo se si apre."-(A.Einstein)-
"E' difficile sapere cosa sia la verità, ma a volte è molto facile riconoscere una falsità."-(A.Einstein)-
"La differenza fra la genialità e la stupidità è che la genialità ha i dei limiti."-(A.Einstein)-
"Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."-(A.Einstein)-
"Tutti sanno che una cosa é impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa."-(A.Einstein)-
Cita messaggio
#10
si infatti non li vedo neanche nascosti!

[Immagine: ByhFu.png]
Confusedob:
Cita messaggio
#11
Prima di tutto devo scusarmi per il parametro che ho citato ";" per commentare testo in un Batch, serve il "REM" oppure "::" (due x doppi punti).
(Ultimamente smanetto spesso con altri tipi di script e mi sono confuso...)

mi pare strano che con quelle impostazioni di cartella non te li veda, comunque se vuoi aggiungere un Check immediato al file HOSTS
per vedere se la modifica e' avvenuta, puoi aggiungere queste righe alla fine :

Codice:
type HOSTS

pause>NUL
pause

Per vedere i file puoi usare il Prompt Comandi entrando nella cartella ETC e usando ATTRIB (senza parametri) che, a differenza del comando
DIR, ti fara' vedere anche tutti i file nascosti o di sistema.

Ciauz
Clay
[Immagine: 9SqHa.png]
"La mente è come un paracadute. Funziona solo se si apre."-(A.Einstein)-
"E' difficile sapere cosa sia la verità, ma a volte è molto facile riconoscere una falsità."-(A.Einstein)-
"La differenza fra la genialità e la stupidità è che la genialità ha i dei limiti."-(A.Einstein)-
"Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."-(A.Einstein)-
"Tutti sanno che una cosa é impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa."-(A.Einstein)-
Cita messaggio
#12
funziona il tutto clay, grazie... (ora posso preparare il mio HostsWall Plus!) :mrgreen:
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)