gpt4 book ai didi

batch-file - 如何按数字/字母的数量批量重新排列界面?

转载 作者:行者123 更新时间:2023-12-04 01:29:57 25 4
gpt4 key购买 nike

我正在制作批处理文件 (Microsoft .bat),想知道如何在从 X 个字符移动时自动重新排列界面回显?

怎么样:

┌────────────┐
│Ping: 50ms |
└────────────┘

┌────────────┐
│Ping: 1ms |
└────────────┘

┌────────────┐
│Ping: 200ms |
└────────────┘

我多么希望:

┌────────────┐
│Ping: 50ms |
└────────────┘
┌────────────┐
│Ping: 1ms |
└────────────┘
┌────────────┐
│Ping: 200ms |
└────────────┘

注1:数字/字母随机,一位到三位不等。

注2:字符只是表示它最终的样子,鉴于我在这里使用终端字体字符,他们没有通过那个愿望。

我的代码:

@Echo Off
Title Ping
Color 1f
mode con:lines=12 cols=39
setlocal enableextensions disabledelayedexpansion
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set "IPServidor=104.16.22.33"
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set "lowPing=9999"
set "highPing=0"


Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ ¯ Calculando... ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo.
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ ¯ Calculando... ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo.
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ ¯ Calculando... ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


:doPing

set "ping="

for /f "tokens=9" %%a in ('
ping -n 2 "%IPServidor%" ^|find "ms,"
') do for /f "delims=m " %%b in ("%%a") do set "ping=%%~b"

Cls

if not defined ping (
Echo.
Echo.
Echo.
Echo.
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ ¯ O servidor nÆo est  respodendo! ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo.
Echo.
Echo.
Echo.
goto :doPing
)

Cls

if %ping% gtr %highPing% set "highPing=%ping%"
if %ping% lss %lowPing% set "lowPing=%ping%"

Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ ¯ Ping atual: %ping%ms ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo.
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ ¯ Ping m¡nimo: %lowPing%ms ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo.
Echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo ³ ¯ Ping m ximo: %highPing%ms ³
Echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Goto :doPing

最佳答案

您可以右对齐您的 ping 号码并让它使用固定数量的空格。

在显示 %ping% 变量之前试试这个。

SET ping=  %ping%
SET ping=%ping:~-3%

基本上,第一行在数字前面添加两个空格,然后第二行取最右边的 3 个字符。

因此,如果 %ping% 的值为 1,您将得到:

┌────────────┐
│Ping: 1ms |
└────────────┘

如果 %ping% 的值为 99,您将得到:

┌────────────┐
│Ping: 99ms |
└────────────┘

并且,如果 %ping% 的值为 999,您将得到:

┌────────────┐
│Ping: 999ms |
└────────────┘

关于batch-file - 如何按数字/字母的数量批量重新排列界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com