[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 如何在bat返回的内容后面增加序号?

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. :top
  4. ping -n 1 www.baidu.com | find /I "TTL" && goto top
  5. echo  网络不通
  6. goto top
复制代码
想在上面代码返回的每行后面增加序号,类似行号似的,如何修改上面的代码?序号要隔空上下对齐

回复 23# 77七


    你把16楼保存为文本文件上传上来,我下载看看有什么不同

TOP

回复 22# wh123wh123


   检查下换行符号。
bat小白,请多指教!谢谢!

TOP

回复 21# 77七


    文件编码ANSI的bat文件

TOP

回复 20# wh123wh123


   测试正常。
需要看脚本文件原件。
bat小白,请多指教!谢谢!

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::设置尝试次数
  4. set "imax=500"
  5. :top
  6. set/a "i+=1, k=0"
  7. for /f "delims=" %%v in ('ping -n 1 www.baidu.com ^|find /i "TTL" ') do (
  8. set "k=1" &(echo,%%v !i!)
  9. )
  10. if !k! equ 0 (echo,!i!  网络不通)
  11. if !i! geq !imax! (endlocal&exit/b)
  12. goto top
复制代码
回复 17# 77七

TOP

回复 18# wh123wh123


   测试16楼代码,正常,你把你用的脚本原件传网盘发上来吧。
bat小白,请多指教!谢谢!

TOP

回复 16# aloha20200628



    来自 89.156.66.18 的回复: 字节=32 时间=23ms TTL=52 67
'k' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
来自 89.156.66.18 的回复: 字节=32 时间=23ms TTL=52 68
'k' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

TOP

回复 13# wh123wh123


   点击复制代码,我测试正常。
bat小白,请多指教!谢谢!

TOP


给一个纯P版,网络连通时后缀序号,网络不通时前缀序号。最多尝试次数用imax变量控制。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::设置尝试次数
  4. set "imax=5"
  5. :top
  6. set/a "i+=1, k=0"
  7. for /f "delims=" %%v in ('ping -n 1 www.baidu.com ^|find /i "TTL" ') do (
  8. set "k=1" &(echo,%%v !i!)
  9. )
  10. if !k! equ 0 (echo,!i!  网络不通)
  11. if !i! geq !imax! (endlocal&exit/b)
  12. goto top
复制代码

TOP

回复 14# pd1


    就是这样的功能效果,但总感觉哪里不得劲,

TOP

  1. <# :
  2. @echo off
  3. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0' |Out-String|Invoke-Expression"
  4. pause
  5. #>
  6. $n=1
  7. while($true){
  8. $result=ping -n 1 www.baidu.com
  9. if($result.Length -eq 40){"网络不通"}
  10. else{$result|?{$_.contains("TTL")}|%{$_+" "+$n;$n=$n+1;sleep 1}
  11. }
  12. }
复制代码

TOP

本帖最后由 wh123wh123 于 2023-9-17 23:11 编辑

回复 12# 77七


    'str' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
~0,50n:~-4 ]
'?' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'str' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
~0,50n:~-4 ]
'?' 不是内部或外部命令,也不是可运行的程序

如果出现“网络不通”的话,该行后面不需要补序号。

TOP

本帖最后由 77七 于 2023-9-17 22:56 编辑

回复 11# wh123wh123


  1. @Echo Off
  2. rem http://www.bathome.net/redirect.php?goto=findpost&ptid=1246&pid=164208
  3. SetLocal EnableDelayedExpansion
  4. :loop
  5. (For /F "delims=" %%i In ('ping -n 1 www.baidu.com ^| find /I "TTL"') Do (
  6. set /a n+=10001
  7. Set L1=%%i                                   
  8. Echo !L1:~0,45! [ !n:~-4! ]
  9. )) || (
  10. set /a n+=10001
  11. set str=网络不通                                                            
  12. echo !str:~0,50! [ !n:~-4! ]
  13. )
  14. timeout 1 >nul
  15. goto :loop
复制代码
bat小白,请多指教!谢谢!

TOP

回复 10# 77七


来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52   1
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    2
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    3
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    4
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    5
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    6
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    7
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=51    8
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    9
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    10
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=50    11
来自 87.156.66.18 的回复: 字节=32 时间=23ms TTL=52    12
........就是这样的效果,也就是在返回的内容后面自动补上序号或者叫行号,因为网络偶尔卡一下,所以想用肉眼观察网络稳定性,用序号观察是否在变化。

TOP

返回列表