对于for文件循环批处理文件

时间:2016-05-03 11:35:03

标签: batch-file for-loop

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

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

我试图将其插入到一个biger循环中,该循环使用一个文件为其提供主机名。

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% 
)

如果对此有任何帮助,将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:0)

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"
)