我在批处理文件中写入了一个Mass IP地址pinger,它在文本文件中读取IP,然后在CMD屏幕上告诉用户IP是“OK”还是“无法响应”... < / p>
@echo off
for /f "delims=" %%a in (iplist.txt) do ping -n 1 %%a >nul && (echo %%a ok) || (echo %%a failed to respond)
Pause
一切正常,除了我想在CMD屏幕上输出文本文件...
Stackoverflow上的所有解决方案都不会显示CMD屏幕上的输出,而是将所有输出直接转到文本文件。
我需要它在CMD屏幕和文本文件上显示输出。
感谢。
答案 0 :(得分:1)
最简单的方法是写两个地方
@echo off
setlocal enableextensions enabledelayedexpansion
(for /f "usebackq delims=" %%a in ("iplist.txt") do (
ping -n 1 "%%~a" >nul && set "msg=%%~a ok" || set "msg=%%~a failed to respond"
>con echo(!msg!
echo(!msg!
)) > "logfile.txt"
Pause
您可以看到第一个echo
被重定向到控制台。第二个没有重定向,完整的for
命令已被重定向,以避免每行写入对输出文件的打开/关闭操作。