组合两个批处理文件/"每个"做多个命令"做"

时间:2017-01-16 09:55:13

标签: windows batch-file cmd command

基本上我想要的是让当前正在使用计算机的用户。我从这个社区得到了以下代码,效果很好......,

::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批。

我已经尝试了很多天将这两者结合起来,但似乎无法弄明白。

1 个答案:

答案 0 :(得分:0)

正如@aschipfl建议的那样。使用FOR /?查看有关使用FOR命令的信息。

for /f %%a in (output1.txt) do (
    WMIC /NODE:%%a computersystem GET name, username 
    ECHO right here
)