我无法找到在批处理文件中运行这些命令?

我无法找到在批处理文件中运行这些命令?

我想要一个批处理文件,从文本文件(记事本)的第一行提取信息,使用该信息将信息添加到 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示例命令行的所有行。(显然,删除它才能真正执行命令)。dnscmdecho

的语法有些晦涩难懂。在裸命令提示符下for使用时,您不会将环境变量加倍。我发现它非常方便,并且每天都在使用它(但是,我也每天都在命令提示符下使用)。for%%for

相关内容