Batch file 如何制作一个.bat脚本,从一个命令输出中获取信息,为每个输出执行命令,以创建文件路径?

Batch file 如何制作一个.bat脚本,从一个命令输出中获取信息,为每个输出执行命令,以创建文件路径?,batch-file,Batch File,所以,我要做的是,执行netuser,只将帐户列在.txt文件中。(我已经这样做了,但最后一行“command completed successfully.”仍然会输出。)然后,考虑每个帐户并检查它是否处于活动状态。(net用户[account]| findstr/C:“account active”)。然后将这些文件创建为.txt文件。然后只需将文件路径C:\Users(用户找到的)\AppData\Roaming复制到剪贴板。如果有办法制作.txt文件那就太好了,但我可以通过删除它们来结束

所以,我要做的是,执行
netuser
,只将帐户列在.txt文件中。(我已经这样做了,但最后一行“command completed successfully.”仍然会输出。)然后,考虑每个帐户并检查它是否处于活动状态。(
net用户[account]| findstr/C:“account active”
)。然后将这些文件创建为.txt文件。然后只需将文件路径C:\Users(用户找到的)\AppData\Roaming复制到剪贴板。如果有办法制作.txt文件那就太好了,但我可以通过删除它们来结束脚本。我目前一直关注的部分是获取“for”命令,从所有文本行中收集标记,而不仅仅是最后一行(并输出它们)

net user
的输出取决于语言。将搜索字符串更改为您的语言

外部
for/f
循环处理
net user
命令的输出(减去
find
过滤的“command successful”行),跳过标题。内部的
for
将行分解为单词(用户)并执行
net user
命令
Findstr
为激活的
帐户过滤
..
行,如果成功(
&&
),则打印用户名


您的剪贴板请求没有意义,因为可能有多个活动帐户。(如果您是肯定的,只有一个活动用户,您可以使用命令将内容
回送到剪贴板)

我将skip=更改为4,因为它跳过了第一行帐户,但除此之外,它工作得非常好,谢谢!
@echo off
setlocal enabledelayedexpansion

for /f "skip=4 delims=" %%a in ('net user^|find /v "Der Befehl wurde erfolgreich ausgeführt"') do (
  for %%b in (%%a) do (
    net user %%b | findstr /rc:"Konto aktiv.*Ja" >nul && >>ActiveAccounts.txt echo %%b
  )
)