我想要一个批处理文件,从文本文件(记事本)的第一行提取信息,使用该信息将信息添加到 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,删除它,然后再次从头开始,直到文本文件为空。
答案1
没有内置的原语来CMD.EXE
从文本文件中删除行。我怀疑你会在for
命令中找到实用程序。
@echo off
for /f %%i in (textfile.txt) do echo dmscmd "mydns" /zoneadd %%i
这将遍历显示文件每一行的textfile.txt
示例命令行的所有行。(显然,删除它才能真正执行命令)。dnscmd
echo
的语法有些晦涩难懂。在裸命令提示符下for
使用时,您不会将环境变量加倍。我发现它非常方便,并且每天都在使用它(但是,我也每天都在命令提示符下使用)。for
%%
for