Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从文本文件中读取数据并在windows中迭代?_Windows_Batch File_For Loop - Fatal编程技术网

如何从文本文件中读取数据并在windows中迭代?

如何从文本文件中读取数据并在windows中迭代?,windows,batch-file,for-loop,Windows,Batch File,For Loop,我有一个以下格式的文本文件。我希望从文件中读取所有数据,并将一个值作为参数传递给下一个命令 dummy.txt Administrators Guests 基本上,这些是用户组的名称,我正在使用.NET命令从特定组中删除用户 如何循环文件(dummy.txt)并执行以下命令来删除用户的特定组 NET LOCALGROUP GROUP_NAME Administrator /delete 到目前为止,我已经尝试过类似的东西,但没有成功 @echo off for /f %%X in ("C:\

我有一个以下格式的文本文件。我希望从文件中读取所有数据,并将一个值作为参数传递给下一个命令

dummy.txt

Administrators
Guests
基本上,这些是用户组的名称,我正在使用.NET命令从特定组中删除用户

如何循环文件(dummy.txt)并执行以下命令来删除用户的特定组

NET LOCALGROUP GROUP_NAME Administrator /delete
到目前为止,我已经尝试过类似的东西,但没有成功

@echo off
for /f %%X in ("C:\dummy.txt") do (NET LOCALGROUP %%X Administrator /delete)

您应该删除包含文件名的双引号

for /f %%X in (C:\dummy.txt) do (NET LOCALGROUP %%X Administrator /delete)

您应该删除包含文件名的双引号

for /f %%X in (C:\dummy.txt) do (NET LOCALGROUP %%X Administrator /delete)
usebackq
用于允许在执行的命令中使用单引号,并向
for
解析器指示双引号字符串是一个文件引用,而不是要分析的立即字符串


usebackq
用于允许在执行的命令中使用单引号,并向
for
解析器指示双引号字符串是一个文件引用,而不是要分析的立即字符串。

实际上,我的文件路径之间包含空格,这就是为什么我使用双引号,如果我删除双引号引用然后路径找不到错误发生。如何在命令中使用c:\my file path\dummy.txt。实际上,我的文件路径之间包含空格,这就是为什么我使用双引号,如果删除双引号,则无法找到路径错误发生。如何在命令中使用c:\my file path\dummy.txt。谢谢timrau和MC ND。假设dummy.txt包含以下值,那么我们如何将其正确传递给循环中的NET命令<代码>代码管理员备份操作员
代码
。备份运算符是单个字符串,但由于使用空格字符,它会导致问题。@monoj,您必须向
for/f
命令指示空格不是分隔符:
for/f“usebackq delims=“%%X in…”默认情况下,空格和制表符分隔标记。分隔符的空列表将禁用此行为。@monoj,请记住引用参数
NET LOCALGROUP“%%X”…
gr8,该参数修复了此问题。非常感谢@MC感谢timrau和MC ND。假设dummy.txt包含以下值,那么我们如何将其正确传递给循环中的NET命令<代码>代码
管理员备份操作员
代码
。备份运算符是单个字符串,但由于使用空格字符,它会导致问题。@monoj,您必须向
for/f
命令指示空格不是分隔符:
for/f“usebackq delims=“%%X in…”默认情况下,空格和制表符分隔标记。分隔符的空列表将禁用此行为。@monoj,请记住引用参数
NET LOCALGROUP“%%X”…
gr8,该参数修复了此问题。非常感谢@MC