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变量。我编辑了脚本,通过提及创建单独的文件!瓦尔!输入输出文件名。我需要进一步完善它,如果没有成员,就不要创建文件。你能在这里帮忙吗?