我试图在文件夹中的文件中查找机器列表,并仅打印输出的最后一行。
@echo off
for /f %%a in (computers.txt) do findstr /xs "%%a" unhealthy.txt
pause
Computers.txt 文件包含 300 台计算机的列表。
我希望它只输出它找到的每个实例的最后一行。
现在,该命令显示并输出计算机名称的所有实例,而不仅仅是尾部。我尝试过使用“tail for Windows”,但也遇到错误。
电流输出:
2013\10-Oct\28\unhealthy.txt:WIN57505
2013\10-Oct\29\unhealthy.txt:WIN57505
2013\10-Oct\30\unhealthy.txt:WIN57505
2013\10-Oct\31\unhealthy.txt:WIN57505
2013\11-Nov\1\unhealthy.txt:WIN57505
2013\11-Nov\4\unhealthy.txt:WIN57505
2013\11-Nov\5\unhealthy.txt:WIN57505
2013\11-Nov\6\unhealthy.txt:WIN57505
我只想:
2013\11-Nov\6\unhealthy.txt:WIN57505
@echo off
setlocal enableextensions disabledelayedexpansion
for /f %%a in (computers.txt) do (
set "line="
for /f "tokens=*" %%b in ('findstr /xs "%%a" *') do set "line=%%b"
setlocal enabledelayedexpansion
echo(!line!
endlocal
)
pause
endlocal
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)