基本上我想要的是让当前正在使用计算机的用户。我从这个社区得到了以下代码,效果很好......,
::Batch 1
@echo off
for /f %%a in (output1.txt) do WMIC /NODE:%%a computersystem GET name, username
do echo %%r >> output2.txt
...,但我的计算机名称中包含连字符但无法使用。
为了规避这一点,我运行下面的代码(也在这里得到了这个,再次感谢!)首先检索IP:
::Batch 2
@echo off
for /f %%a in (hosts.txt) do call :process %%a
goto :eof
:process
set hostname=%1
for /f "tokens=4 delims=: " %%r in ('ping -n 1 %hostname%^|find /i "Statistics"') do echo %%r >> output2.txt
然后我将此信息提供给上面的第一个批处理文件以获取主机名。
基本上我将我的主机名放在名为Hosts.txt的txt文件上,运行第2批,然后运行第1批。
我已经尝试了很多天将这两者结合起来,但似乎无法弄明白。
答案 0 :(得分:0)
正如@aschipfl建议的那样。使用FOR /?
查看有关使用FOR
命令的信息。
for /f %%a in (output1.txt) do (
WMIC /NODE:%%a computersystem GET name, username
ECHO right here
)