Я успешно добавив содержимое файла с помощью этого сценария,Добавить текст в файл, если не существует
@echo off
set hostspath=%windir%\System32\drivers\etc\hosts
echo 99.127.158.114 www.example.com >> %hostspath%
exit
Однако, если я снова запустить файл летучая мышь, это добавить строки снова. И есть дубликаты. Что я хочу сделать, когда я запускаю летучую мышь, это должно сделать содержимое файла пустым, а затем поместить содержимое (или проверить, добавлено ли добавлено и не добавить). Каков правильный способ сделать это?
Это может быть полностью покинуть базу (я не окна парень), но '' >> обычно означает ** Append * *. Попробуйте вместо этого использовать '>', который перезаписывает файл –
@DrewHammond: вы правы. Но 'hosts' обычно имеет более одной строки, и он хочет добавить строку, если ее еще нет. – Stephan
Где 'sed', когда вам это нужно? –