oks 发表于 2024-11-6 23:31

帮忙写个bat命令

工作中经常要用到ping和tracert命令,能不能分别做两个bat,双击bat,提示需要ping或者tracert的IP地址,就好自动ping或者tracert

風信子 发表于 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一下?{:1_925:}

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 "^*\.*\.*\.*$">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 "^*\.*\.*\.*$">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
页: [1] 2
查看完整版本: 帮忙写个bat命令