Batch file 批处理文件将文本文件的行设置为循环中的单个变量

Batch file 批处理文件将文本文件的行设置为循环中的单个变量,batch-file,Batch File,我正在尝试编写一个批处理文件,以在域列表中运行,然后将每个域用作变量,然后在这些域上运行reg导出,如下所示:- for /f "delims=" %%x in (domains.txt) do set Domain=%%x GOTO :ExportReg :ExportReg reg export HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\%Domain% C:\export-%Domain%.txt echo %%Domain%

我正在尝试编写一个批处理文件,以在域列表中运行,然后将每个域用作变量,然后在这些域上运行reg导出,如下所示:-

for /f "delims=" %%x in (domains.txt) do set Domain=%%x
GOTO :ExportReg 

:ExportReg
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\%Domain% C:\export-%Domain%.txt
echo %%Domain%%

:End
但这只是试图将其全部输出到同一个文件,从而导致覆盖错误


因此,它输出为c:\export-domain.com.txt,然后下一个是domain.co.uk,但它尝试再次将其写入domain.com.txt。

初始代码将只处理domains.txt文件中的最后一个域。我想你会希望处理所有域。在FOR命令范围内做任何事情都会容易得多

for /f "delims=" %%x in (domains.txt) do (
    reg export HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\%%x C:\export-%%x.txt
)

您的初始代码将只处理domains.txt文件中的最后一个域。我想你会希望处理所有域。在FOR命令范围内做任何事情都会容易得多

for /f "delims=" %%x in (domains.txt) do (
    reg export HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\%%x C:\export-%%x.txt
)