簡體   English   中英

合並兩個批處理文件/每個“執行”一次執行多個命令

[英]Combining two batch files / “do”ing more than one command per “do”

本質上,我想要的是吸引當前正在使用計算機的用戶。 我從社區獲得了以下代碼,效果很好...,

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

我已經嘗試了很多天,將兩者結合起來,但是似乎無法弄清楚。

正如@aschipfl建議的那樣。 使用FOR /? 查看有關使用FOR命令的信息。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM