Batch file 提取windows server中所有本地组中的所有用户

Batch file 提取windows server中所有本地组中的所有用户,batch-file,batch-processing,Batch File,Batch Processing,我必须通过批处理脚本找到所有本地组中的所有用户,并应重定向到输出文件 我可以为一个组提取数据并重定向到一个文件 net localgroup "Administrators" > c:\temp.txt 但是我必须获取为下面的命令显示的所有组的用户列表 net localgroup 通常仅运行net localgroup会返回带有起始星号*的组,因此应该可以这样做: @echo off setlocal enabledelayedexpansion for /f "tokens=*"

我必须通过批处理脚本找到所有本地组中的所有用户,并应重定向到输出文件

我可以为一个组提取数据并重定向到一个文件

net localgroup "Administrators" > c:\temp.txt
但是我必须获取为下面的命令显示的所有组的用户列表

net localgroup
通常仅运行net localgroup会返回带有起始星号*的组,因此应该可以这样做:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('net localgroup') do (
  set "var=%%a"
  set var=!var:~1!
  net localgroup "!var!" >> someoutput.txt
)
编辑

根据您的评论,我们可以简单地检查创建的文件是否具有正确的行数,如果没有,请删除它

@echo off
setlocal enabledelayedexpansion
 for /f "tokens=*" %%a in ('net localgroup') do (
   set "var=%%a"
   set var=!var:~1!
   net localgroup "!var!" > "!var!.txt"
  for /f %%i in ('type "!var!.txt" ^|find "" /v /c ') do set /a count=%%i
   if !count! lss 10 del /Q "!var!.txt"
 )

使用FOR/F命令捕获NET LOCALGROUP命令的输出。如果使用tokens=*delims=*,则可以直接使用FOR变量。我编辑了脚本,通过提及创建单独的文件!瓦尔!输入输出文件名。我需要进一步完善它,如果没有成员,就不要创建文件。你能在这里帮忙吗?