吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 511|回复: 18
收起左侧

[经验求助] 帮忙写个bat命令

[复制链接]
oks 发表于 2024-11-6 23:31
40吾爱币
工作中经常要用到ping和tracert命令,能不能分别做两个bat,双击bat,提示需要ping或者tracert的IP地址,就好自动ping或者tracert

最佳答案

查看完整内容

右键新建文本文档并重命名为PingOrTracert.bat,右键该bat文件,选择编辑,将以下内容复制黏贴进去,保存后退出。(代码中需要指定编码格式,不然中文会显示乱码;需要先进入PING.EXE文件所在目录,以免无法正常执行ping操作;批量化操作,呃,俺不会啊,问Ai吧) @echo off C: cd C:\Windows\SysWOW64 chcp 65001 >nul color 0a :menu cls echo ================================ echo 请选择操作: ec ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

風信子 发表于 2024-11-6 23:31
右键新建文本文档并重命名为PingOrTracert.bat,右键该bat文件,选择编辑,将以下内容复制黏贴进去,保存后退出。(代码中需要指定编码格式,不然中文会显示乱码;需要先进入PING.EXE文件所在目录,以免无法正常执行ping操作;批量化操作,呃,俺不会啊,问Ai吧)
@echo off  
C:  
cd C:\Windows\SysWOW64  
chcp 65001 >nul  
color 0a
:menu  
cls  
echo ================================  
echo 请选择操作:  
echo 1. Ping  
echo 2. Tracert  
echo 3. 退出  
echo ================================  
set /p choice="请输入数字选择操作 (1-3): "  
  
:: 验证输入是否为有效的数字  
for /f "delims=0123456789" %%i in ("%choice%") do (  
    set "valid_input="  
    goto invalid_input  
)  
if not defined valid_input (  
    if "%choice%" lss "1" goto invalid_input  
    if "%choice%" gtr "3" goto invalid_input  
)  
  
:: 根据用户选择执行相应操作  
if "%choice%"=="1" goto ping_input  
if "%choice%"=="2" goto tracert_input  
if "%choice%"=="3" goto end  
  
:invalid_input  
cls  
echo 输入有误,请输入数字1、2或3。  
echo ================================  
echo 请重新选择操作:  
echo 1. Ping  
echo 2. Tracert  
echo 3. 退出  
echo ================================  
set /p choice="请输入数字选择操作 (1-3): "  
goto menu  
  
:ping_input  
set /p ip="请输入要Ping的IP地址或域名: "  
ping %ip%  
goto post_operation  
  
:tracert_input  
set /p ip="请输入要Tracert的IP地址或域名: "  
tracert %ip%  
goto post_operation  
  
:post_operation  
echo ================================  
echo 操作已完成。请选择下一步操作:  
echo 1. 继续输入新的IP地址/域名进行相同操作  
echo 2. 返回主菜单重新选择命令  
echo 3. 退出程序  
echo ================================  
set /p next_choice="请输入数字选择下一步操作 (1-3): "  
  
:: 验证下一步操作输入是否为有效的数字  
for /f "delims=0123456789" %%i in ("%next_choice%") do (  
    set "valid_next_input="  
    goto invalid_next_input  
)  
if not defined valid_next_input (  
    if "%next_choice%" lss "1" goto invalid_next_input  
    if "%next_choice%" gtr "3" goto invalid_next_input  
)  
  
:: 根据用户选择执行相应下一步操作  
if "%next_choice%"=="1" (  
    if "%choice%"=="1" goto ping_input  
    if "%choice%"=="2" goto tracert_input  
)  
if "%next_choice%"=="2" goto menu  
if "%next_choice%"=="3" goto end  
  
:invalid_next_input  
echo 输入有误,请输入数字1、2或3。  
goto post_operation  
  
:end  
echo 感谢使用,程序即将退出。  
pause  
exit
pxhzai 发表于 2024-11-7 00:26
当然可以!你可以创建两个简单的批处理文件(.bat),分别用于 `ping` 和 `tracert` 命令。以下是两个示例:

### 1. 创建 `ping.bat`

打开记事本,将以下内容复制并粘贴到其中:


@echo off
set /p ip="请输入要ping的IP地址或域名: "
ping %ip%
pause

将文件保存为 `ping.bat`。

### 2. 创建 `tracert.bat`

同样,打开记事本,将以下内容复制并粘贴到其中:

@echo off
set /p ip="请输入要tracert的IP地址或域名: "
tracert %ip%
pause

将文件保存为 `tracert.bat`。

### 使用方法

1. 双击 `ping.bat` 文件,会弹出一个窗口,提示你输入要 ping 的 IP 地址或域名。
2. 输入后,按回车,命令会执行并显示结果。
3. 同样,双击 `tracert.bat` 文件,输入要 tracert 的 IP 地址或域名,结果也会显示在窗口中。

这两个批处理文件都使用了 `pause` 命令,以便在命令执行完成后保持窗口打开,方便查看结果。


openai  你试试
dizzy0001 发表于 2024-11-7 00:28
Ping 批处理脚本:

batch@echo off
set /p ip="请输入需要ping的IP地址或域名:"
echo 正在ping %ip%...
ping -n 4 %ip%
pause

Tracert 批处理脚本:
batch
@echo off
set /p ip="请输入需要tracert的IP地址或域名:"
echo 正在tracert %ip%...
tracert %ip%
pause
木头人丶123 发表于 2024-11-7 02:04
链接: https://pan.baidu.com/s/1bvs4O2J_ezQkaN1W09DGiA?pwd=wphy 提取码: wphy 复制这段内容后打开百度网盘手机App,操作更方便哦
参考
 楼主| oks 发表于 2024-11-7 08:33
木头人丶123 发表于 2024-11-7 02:04
链接: https://pan.baidu.com/s/1bvs4O2J_ezQkaN1W09DGiA?pwd=wphy 提取码: wphy 复制这段内容后打开百度网 ...

脚本未以管理员方式运行。
'身份运行”,然后再次尝试。' is not recognized as an internal or external command,
operable program or batch file.
Press any key to continue . . .
hbpoul 发表于 2024-11-7 09:33
ping都懒得ping一下?
lolo5201010 发表于 2024-11-7 10:08
没有分了,赚点分要发个悬赏

@echo off

:L
set /p input="1.执行ping 2.执行tracert 3.退出,请输入(1或2或3): "

if "%input%"=="1" (
    echo 执行ping
    goto A
) else if "%input%"=="2" (
    echo 执行tracert
    goto B
) else if "%input%"=="3" (
    echo 退出
    PAUSE
    exit
) else (
    echo 您输入有误!
    goto L
    PAUSE
)

:A
set ip=
set /p ip="请输入需要ping的IP地址或域名:"

echo %ip%|findstr "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul||goto A_fail
set _ip=%ip:.= %
call :check %_ip%
:check
if "%4"=="" goto A_fail
for %%i in (%1 %2 %3 %4) do (
        if %%i gtr 255 goto A_fail
)

echo .
echo 正在ping %ip%...
ping -n 4 %ip%
echo ==================================================
echo ==================================================
echo ping执行完毕
echo ==================================================
echo ==================================================
echo .
goto L

:A_fail

echo 输入的IP %ip% 有误,请重新输入!
echo.
echo.
goto A


:B
set ip=
set /p ip="请输入需要tracert的IP地址或域名:"

echo %ip%|findstr "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul||goto B_fail
set _ip=%ip:.= %
call :check %_ip%
:check
if "%4"=="" goto B_fail
for %%i in (%1 %2 %3 %4) do (
        if %%i gtr 255 goto B_fail
)

echo .
echo 正在tracert %ip%...
tracert %ip%
echo ==================================================
echo ==================================================
echo tracert执行完毕
echo ==================================================
echo ==================================================
echo .
goto L

:B_fail

echo 输入的IP %ip% 有误,请重新输入!
echo.
echo.
goto B


把上面的代码做成一个BAT就行


zwb83925462 发表于 2024-11-7 11:55
bat的输入体验不好,做了个vbs脚本
vbs脚本链接:
https://pan.baidu.com/s/1VATVA-AtVz-VZgKPO6yBNw?pwd=52pj
提取码: 52pj
風信子 发表于 2024-11-7 17:45
@echo off  
:main  
C:  
cd C:\Windows\SysWOW64  
chcp 65001 >nul  
color 0a  
set /p ip="请输入要Ping的IP地址: "  
ping %ip%  
  
:prompt  
set /p choice="Ping操作完成。是否重新输入IP地址进行ping操作?(Y/N): "  
if /i "%choice%"=="Y" goto main  
if /i "%choice%"=="N" goto end  
echo 无效的选择,请输入Y或N。  
goto prompt  
  
:end  
pause  
exit
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表