Oppure

Loading
01/05/20 19:25
DMD
Buonasera.
Dopo molto tempo devo rispolverare questo tipo di programmazione e non so come fare per eseguire una funzione.
Devo creare un comando che deve verificare se nella cartella hosts, esiste un determinato blocco host riferito ad un sito, questo non deve essere creato di nuovo.
Se gia esiste un determinato blocco come es. "0.0.0.0 giochionline.com", quando lancio lo script come andrebbe modificato quest'ultimo, affinchè non venga riscritta una seconda riga identica nel file host?
Grazie

@echo off
SET hosts=%windir%\system32\drivers\etc\hosts


attrib -r %hosts%

echo. >>%hosts%
FOR %%A IN (#Hosts_block_giochi_online) DO (echo %%A >>%hosts%)

FOR %%A IN (

giochionline.com

) DO (
 echo 0.0.0.0 %%A >>%hosts%
)

attrib +r %hosts%
echo Successfully added entries
Ultima modifica effettuata da DMD 01/05/20 19:48
01/05/20 20:55
nessuno
La domanda è perché farlo con uno script batch se con qualche linea di C o qualsiasi altro linguaggio riesci a farlo senza problemi?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
01/05/20 20:58
DMD
Non sono pratico di altri linguaggi utilizzo solo un poco il batch, ed il comando lo inserisco in file eseguibile.
01/05/20 21:03
nessuno
Non mi pare che tu sia pratico neanche di batch.

E che senso ha inserirlo in un eseguibile? Che intendi?

A parte il fatto che per modificare il file hosts devi avere diritti di amministratore.
Ultima modifica effettuata da nessuno 01/05/20 21:04
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
01/05/20 21:11
DMD
Non sono pratico di batch, per qwuello ho chiesto se si poteva fare.
Poi il file di batch basta lanciarlo eventualmente come amministratore e il blocco hosts dovrebbe funzionare.
01/05/20 21:24
nessuno
Qualsiasi eseguibile scritto in qualsiasi linguaggio lo lanci come amministratore, avendo le credenziali.

Il linguaggio batch è scomodo ... in qualsiasi altro linguaggio lo fai meglio e prima ...

Comunque

findstr "0.0.0.0 giochionline.com" %hosts%
if not errorlevel 0 .... (non trovato)
(trovato)

e continui tu
Ultima modifica effettuata da nessuno 01/05/20 21:34
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità;) chiamava il gioco del Lotto Tassa sulla stupidità.
01/05/20 21:29
DMD
Ti ringrazio
Nella mia ignoranza ho solo iniziatio qualche approccio con il batch che mi sembrava più facile.