Hosts Datei per batch bearbeiten?
Ich bin totaler Anfänger in Batch und weiß nicht weiter...
Ich arbeite gerade an einem Projekt, bei dem ich ständig die hosts datei von Windows bearbeiten muss.
Jetzt habe ich mir gedacht, dass es leichter wäre, wenn ich die zwei Zeilen, die da dazu kommen bzw auskommentiert werden müssen (gelöscht werden müssen) per batch Datei ändere.
Die Einträge stehen am Ende der hosts Datei. es handelt sich um zwei Zeilen.
Kann man diese per batch Datei einfügen/löschen bzw. auskommentieren/kommentar entfernen?
Ich arbeite gerade an einem Projekt, bei dem ich ständig die hosts datei von Windows bearbeiten muss.
Jetzt habe ich mir gedacht, dass es leichter wäre, wenn ich die zwei Zeilen, die da dazu kommen bzw auskommentiert werden müssen (gelöscht werden müssen) per batch Datei ändere.
Die Einträge stehen am Ende der hosts Datei. es handelt sich um zwei Zeilen.
Kann man diese per batch Datei einfügen/löschen bzw. auskommentieren/kommentar entfernen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 167445
Url: https://administrator.de/contentid/167445
Ausgedruckt am: 12.11.2024 um 21:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo "Ich bin totaler. . .",
Oder du erstellst dir 2 Hosts Dateien (Hosts.1 und Hosts.2) und kopierst welche du benötigst nach Hosts.
Gruß,
Peter
Zitat von @4PR28U:
Kann man diese per batch Datei einfügen/löschen bzw. auskommentieren/kommentar entfernen?
Kurz und knapp. Ja. (Suche hier im Forum wird dich erfreuen)Kann man diese per batch Datei einfügen/löschen bzw. auskommentieren/kommentar entfernen?
Oder du erstellst dir 2 Hosts Dateien (Hosts.1 und Hosts.2) und kopierst welche du benötigst nach Hosts.
Gruß,
Peter
Hallo 4PR28U,
versuche mal das hier:
Zeile 6 und 7 natürlich anpassen. Dann das Script z.B. als EditHosts.cmd speichern.
Aufruf:
Hängt die Zeilen an.
Schreibt die Raute (
Entfernt die Raute vor den letzten beiden Zeilen.
Löscht die letzten beiden Zeilen.
Die Änderungen werden erstmal in die Datei
Ich hoffe, ich habe es richtig verstanden, dass der Inhalt der beiden Zeilen immer gleich sein soll.
@Pjordorf: Sicher, wenn man schon scripten kann und in der Lage ist, bestehenden Code umzubauen, kann man erstmal die Suche bemühen. Anfänger sollte man doch etwas mehr unterstützen als mit diesem lapidaren Verweis. Sonst braucht's kein Forum.
Gruß
Friemler
versuche mal das hier:
@echo off
setlocal
set "FirstLine=xxx"
set "SecondLine=xxx"
set "HostsFile=%SystemRoot%\System32\Drivers\etc\hosts"
if /i "%~1" equ "A" goto :Append
if /i "%~1" equ "E" goto :Erase
if /i "%~1" equ "C" goto :Comment
if /i "%~1" equ "D" goto :DeComment
exit /b
:Append
>>"%HostsFile%" (<NUL set /p "=%FirstLine%" & echo.)
>>"%HostsFile%" (<NUL set /p "=%SecondLine%" & echo.)
exit /b
:Erase
call :GetNLines
set /a nLines-=2
type NUL > "%HostsFile%.new"
for /f "eol= tokens=1* delims=:" %%k in ('findstr /n "^" "%HostsFile%"') do (
if %%k leq %nLines% (
>>"%HostsFile%.new" echo\%%l
)
)
goto :RenameFile
:Comment
call :GetNLines
set /a nLines-=2
type NUL > "%HostsFile%.new"
for /f "eol= tokens=1* delims=:" %%k in ('findstr /n "^" "%HostsFile%"') do (
if %%k leq %nLines% (
>>"%HostsFile%.new" echo\%%l
) else (
>>"%HostsFile%.new" echo\#%%l
)
)
goto :RenameFile
:DeComment
call :GetNLines
set /a nLines-=2
type NUL > "%HostsFile%.new"
for /f "eol= tokens=1* delims=:" %%k in ('findstr /n "^" "%HostsFile%"') do (
if %%k leq %nLines% (
>>"%HostsFile%.new" echo\%%l
) else (
for /f "eol= delims=#" %%a in ("%%l") do (
>>"%HostsFile%.new" echo\%%a
)
)
)
:RenameFile
move /y "%HostsFile%.new" "%HostsFile%" > NUL
exit /b
:GetNLines
for /f "delims=:" %%n in ('findstr /n "^" "%HostsFile%"') do set /a nLines=%%n
exit /b
Zeile 6 und 7 natürlich anpassen. Dann das Script z.B. als EditHosts.cmd speichern.
Aufruf:
EditHosts A
EditHosts C
#
) als Kommentarzeichen vor die letzten beiden Zeilen.EditHosts D
EditHosts E
Die Änderungen werden erstmal in die Datei
hosts.new
geschrieben. Zum Schluss wenn alles fertig ist, wird die Datei mit dem MOVE
-Befehl in Zeile 78 umbenannt in hosts
.Ich hoffe, ich habe es richtig verstanden, dass der Inhalt der beiden Zeilen immer gleich sein soll.
@Pjordorf: Sicher, wenn man schon scripten kann und in der Lage ist, bestehenden Code umzubauen, kann man erstmal die Suche bemühen. Anfänger sollte man doch etwas mehr unterstützen als mit diesem lapidaren Verweis. Sonst braucht's kein Forum.
Gruß
Friemler
moin..
"eigentlich" fangen wir Fragen nicht mit "ich arbeite" oder so was an, sondern mit einem Grußwort.
(kommt irgendwie besser, wenn man wenigstens den Anschein von Höflichkeitsflokeln bewahrt)
Nur der vollständigkeit halber,
"eigentlich" fangen wir Fragen nicht mit "ich arbeite" oder so was an, sondern mit einem Grußwort.
(kommt irgendwie besser, wenn man wenigstens den Anschein von Höflichkeitsflokeln bewahrt)
Zitat von @4PR28U:
Ich arbeite gerade an einem Projekt, bei dem ich ständig die hosts datei von Windows bearbeiten muss.
Ich arbeite gerade an einem Projekt, bei dem ich ständig die hosts datei von Windows bearbeiten muss.
Ich bin totaler Anfänger in Batch und weiß nicht weiter...
Nur der vollständigkeit halber,
- Fummeln an der Hosts Datei ist zu 99% unnötig, es geht bis auf 1% auch "richtig"
- Und deshalb braucht derjenige, welcher wo am Fummeln am Horst ist auch Adminrechte.
- Und eigentlich geben wir immer lieber Tipps, wie man es richtig macht.
Moin T-Mo
Gruß
Friemler
Zitat von @60730:
Da er schon länger daran rumfummelt, weiß er das schon oder hat es noch nicht gemerkt, weil er sowieso mit Adminrechten arbeitet. Sollte das ein Projekt sein, was später mal auf einem Rechner laufen soll, wo das nicht so ist, holt er sich 'ne blutige Nase und hat was gelernt.- Und deshalb braucht derjenige, welcher wo am Fummeln am Horst ist auch Adminrechte.
Zitat von @60730:
Es gibt vielfältige Gründe an der hosts rumzuspielen, nicht alle dieser Gründe will man unbedingt einer breiten Öffentlichkeit darlegen... Wenn mir ein Anliegen nicht allzu schwachsinnig vorkommt, handele ich lieber nach der Prämisse: Brauchst Du? Kriegst Du! Was soll ich mir den Kopf anderer Leute zerbrechen? Scripten ist mein Tai Ginseng .- Und eigentlich geben wir immer lieber Tipps, wie man es richtig macht.
Gruß
Friemler