Назад | Перейти на главную страницу

У меня возникли проблемы с поиском этих команд для запуска в пакетном файле?

Я хочу, чтобы командный файл извлекал информацию из первой строки текстового файла (блокнота), использовал эту информацию для добавления информации на DNS-сервер, а затем удалял ее. Я думаю, что если я создам цикл, я могу заставить его пройти весь текстовый файл, используя первую строку информации для добавления к DNS-серверу, а затем удалив первую строку перед запуском цикла. Например ... Пакетный файл будет

@echo off
:start
dnscmd "mydns" /zoneadd (need to know the command from here to add the FQDN from the text file)
::(Need to know the command here to delete the first line of the text file and save the file)
goto start 

Текстовый файл гласит

Siteno1.com
Siteno2.com
Siteno3.com

Я хочу добавить Siteno1.com в DNS, затем удалите его, начните с начала текстового файла и добавьте Siteno2.com в DNS, удалите его и снова начните с начала, пока текстовый файл не станет пустым.

В нем нет встроенного примитива CMD.EXE для удаления строк из текстовых файлов. Я подозреваю, что вы найдете полезность в for команда.

@echo off
for /f %%i in (textfile.txt) do echo dmscmd "mydns" /zoneadd %%i

Это будет повторять все строки в textfile.txt отображение примера dnscmd командная строка для каждой строки файла. (Очевидно, удалите echo чтобы он действительно выполнял команды).

Синтаксис для for несколько загадочно. Когда вы используете for в простой командной строке вы не удваиваете %% переменные среды. я нахожу for чтобы быть невероятно удобным и использовать его ежедневно (но, кстати, я тоже ежедневно использую командную строку).