For file循环批处理文件中的For file循环



我有一个程序来ping计算机,检查注册表,并告诉我结果。我现在正在尝试编写它的脚本,这样我就不必知道ip地址,只需知道计算机的主机名。我找到了一个脚本,给我一个主机名的ip

for /f "tokens=1,2 delims=[]" %%a in ('ping -4 %%a  ^| find "Pinging"') do set ip=%%c >nul

我试着简单地将其插入一个更大的循环中,该循环使用一个文件为其提供主机名。

for /f %%A in (%1) do (
    for /f "tokens=1,2 delims=[]" %%a in ('ping -4 %%a  ^| find "Pinging"') do (
        set host=%%a
        set ip=%%c
        echo "."
        echo %ip% %host%
        pause
        ) >>%2
    )

我也试过这样,

for /f %%a in (%1) do (
    set /p hostname=%%a
    for /f "tokens=1,2 delims=[]" %%b in ('ping -4 %%a  ^| find "Pinging"') do set ip=%%c >nul
    echo %ipaddress% %hostname% 
)

请在这方面提供任何帮助,我们将不胜感激。非常感谢。

在MUTCH HEAD BANGING 之后

@echo off
SETLOCAL EnableDelayedExpansion
for /f %%A in (%1) do (
    for /f "tokens=1,2 delims=[]" %%a in ('ping /4 /n 1 %%A ^| findstr "Pinging"') do echo "%%A %%b"
) 

最新更新