批处理小程序的制作

news2025/1/22 18:45:54

一、介绍

批处理是一种将一系列计算机任务按照预定义的顺序进行自动化处理的技术。它是通过批处理脚本或命令文件来实现的,可以在不需要人工干预的情况下,批量运行多个命令或程序。

批处理脚本的优点

1. 自动化:批处理可以自动执行重复性任务,无需手动干预,减少人力和时间成本。

2. 批量处理:批处理可以同时处理多个任务,提高工作效率。

3. 减少错误:批处理可以减少人为因素引起的错误,保证任务的准确性和一致性。

4. 资源优化:批处理可以合理安排计算机资源的利用,提高系统的整体性能。

二、应用环境

1. 执行重复任务:当需要重复执行相同或类似的任务时,使用批处理可以节省时间和精力。

2. 批量处理文件:如果需要对多个文件进行相同的操作或处理,批处理可以一次性完成。

3. 自动化系统管理:批处理可以用于系统管理任务,例如备份文件、定时任务等。

三、举例

一.windows基本功能小程序

1.源码

@echo off
color 6e
ping 127.0.0.1 /n 2 >nul
color 5f

title 小程序
:menu
cls
echo.
echo ==========================
echo windows基本功能小程序
echo ==========================
echo 1.定时关机
echo 2.查看IP
echo 3.查看开启的端口
echo 4.查看所有进程
echo 5.关闭进程
echo 6.退出
echo 7.查看计算机详细信息
echo 8.查看磁盘总空间和剩余空间
echo 9.远程桌面
echo.
set /p num=请输入选项:
if "%num%"=="1" goto a
if "%num%"=="2" goto b
if "%num%"=="3" goto c
if "%num%"=="4" goto d
if "%num%"=="5" goto e
if "%num%"=="6" goto f
if "%num%"=="7" goto g
if "%num%"=="8" goto h
if "%num%"=="9" goto i
echo 请输入正确的值
pause
goto menu
:a
set /p time=请输入时间:
shutdown -s -t %time%
echo 定时关机已经设置完毕,谢谢使用!
pause
goto menu
:b
ipconfig
pause
goto menu
:c
netstat -ano
pause
goto menu
:d
tasklist
pause
echo 按任意键继续!
goto menu
:e
set /p gg=请输入进程号:
taskkill /f /pid %gg%
echo 谢谢使用!
pause
goto menu
:f
exit
:g
systeminfo
pause
goto menu
:h
fsutil volume diskfree c:
pause
goto menu
:i
mstsc
pause
goto menu

2.运行截图

 3.解释 

当然,以下是对每一句代码的解释:

@echo off

这句代码关闭了命令提示符窗口的回显功能,即执行命令时不在窗口上显示命令本身。

color 6e

这句代码将命令提示符窗口的背景色设置为深黄色,前景色设置为亮黄色。

ping 127.0.0.1 /n 2 >nul

这句代码用于延迟执行,通过向自身发送两个数据包进行本地回环测试。目的是让程序暂停一段时间。

color 5f

这句代码将命令提示符窗口的背景色设置为深紫色,前景色设置为亮紫色。

title 小程序

这句代码设置命令提示符窗口的标题为"小程序"。

:menu

这句代码定义了一个标签,用于程序中的跳转。标签名为"menu"。

cls

这句代码清空命令提示符窗口中的内容,实现清屏效果。

echo.
echo ============
echo 欢迎使用小程序
echo ============
echo 1.定时关机
echo 2.查看IP
echo 3.查看开启的端口
echo 4.查看所有进程
echo 5.关闭进程
echo 6.退出
echo 7.查看计算机详细信息
echo 8.查看磁盘总空间和剩余空间
echo 9.远程桌面
echo.

这段代码输出一些欢迎信息和菜单选项,以供用户选择。

set /p num=请输入选项:

这句代码用于接收用户输入的选项,将输入的值存储在变量"num"中。

if "%num%"=="1" goto a
if "%num%"=="2" goto b
if "%num%"=="3" goto c
if "%num%"=="4" goto d
if "%num%"=="5" goto e
if "%num%"=="6" goto f
if "%num%"=="7" goto g
if "%num%"=="8" goto h
if "%num%"=="9" goto i
echo 请输入正确的值
pause
goto menu

这段代码根据用户输入的选项,使用条件判断语句跳转到相应的标签,实现对应功能。如果用户输入的选项不在1~9之间,输出错误提示并返回菜单界面。

:a
set /p time=请输入时间:
shutdown -s -t %time%
echo 定时关机已经设置完毕,谢谢使用!
pause
goto menu

标签"a"处的代码会提示用户输入一个时间参数,然后使用`shutdown`命令设置计算机在指定时间后关机。然后显示成功设置的消息,暂停并返回菜单界面。

:b
ipconfig
pause
goto menu

标签"b"处的代码会调用`ipconfig`命令显示计算机的IP配置信息,然后暂停并返回菜单界面。

:c
netstat -ano
pause
goto menu

标签"c"处的代码会调用`netstat`命令显示计算机上当前打开的端口和相关信息,然后暂停并返回菜单界面。

:d
tasklist
pause
echo 按任意键继续!
goto menu

标签"d"处的代码会调用`tasklist`命令显示计算机上运行的所有进程和相关信息。然后暂停显示一条消息,等待用户按下任意键,最后返回菜单界面。

。。。。。。剩下的大家应该就能看懂了,我这里就不列出了

二、用户操作小程序

1.源码

@echo off
color 5f

title 修改用户小程序
:menu
cls
echo.
echo ============
echo 欢迎使用小程序
echo ============
echo 1.查看用户列表
echo 2.添加用户
echo 3.修改用户密码
echo 4.删除用户
echo 5.激活用户
echo 6.禁用用户
echo 7.退出

echo.
set /p num=请输入选项:
if "%num%"=="1" goto a
if "%num%"=="2" goto b
if "%num%"=="3" goto c
if "%num%"=="4" goto d
if "%num%"=="5" goto e
if "%num%"=="6" goto f
if "%num%"=="7" goto g

echo 请输入正确的值
pause
goto menu
:a
net user
pause
goto menu
:b
set /p user=请输入用户名:
set /p passwd=请输入密码:
net user  %user% %passwd% /add
echo 用户已经设置完毕,谢谢使用!
pause
goto menu
:c
set /p user=请输入用户名:
set /p passwd=请输入新密码:
net user  %user% %passwd% 
echo 密码已经修改完毕,谢谢使用!
pause
goto menu
:d
set /p user=请输入用户名:
net user  %user% /del
echo 用户已经删除完毕,谢谢使用!
pause
goto menu
:e
set /p user=请输入用户名:
net user  %user% /active:yes
echo 用户已经激活完毕,谢谢使用!
pause
goto menu
:f
set /p user=请输入用户名:
net user  %user% /active:no
echo 用户已经禁用完毕,谢谢使用!
pause
goto menu
:g
exit

2.运行截图

3.解释

 @echo off

该行代码表示关闭命令行中的回显功能,即在执行命令时不显示命令本身。

color 5f

该行代码设置了命令行窗口的背景色和前景色,其中数字 5 表示紫色背景,字母 f 表示白色前景。

title 修改用户小程序

该行代码设置了命令行窗口的标题,方便用户识别。

:menu
cls
echo.
echo ============
echo 欢迎使用小程序
echo ============
echo 1.查看用户列表
echo 2.添加用户
echo 3.修改用户密码
echo 4.删除用户
echo 5.激活用户
echo 6.禁用用户
echo 7.退出
echo.
set /p num=请输入选项:
if "%num%"=="1" goto a
if "%num%"=="2" goto b
if "%num%"=="3" goto c
if "%num%"=="4" goto d
if "%num%"=="5" goto e
if "%num%"=="6" goto f
if "%num%"=="7" goto g
echo 请输入正确的值
pause
goto menu

这一部分是整个程序的核心。首先,它定义了一个名为 menu 的标签,表示程序的主菜单。然后,使用 cls 命令清空屏幕,使输出信息更加整洁。接着,使用 echo 命令输出菜单选项,让用户可以选择对用户进行哪种操作。在输出完所有选项之后,使用 set /p 命令提示用户输入选择项的编号,并将用户输入的值赋给变量 num。之后,使用 if 命令判断用户的输入,如果符合某个选项,则跳转到对应的标签(如 if "%num%"=="1" goto a 表示如果用户输入的是 1,则跳转到标签 a)。如果用户输入的值都不符合要求,则输出提示信息并返回主菜单。需要注意的是,这里使用了 goto 命令实现了菜单选项的跳转。

:a

net user

pause

goto menu

这几行代码定义了标签 a 的内容。使用 net user 命令查看当前计算机上的用户列表,并使用 pause 命令暂停程序的运行,等待用户按下任意键后继续。最后使用 goto 命令返回主菜单。

:b
set /p user=请输入用户名:
set /p passwd=请输入密码:
net user  %user% %passwd% /add
echo 用户已经设置完毕,谢谢使用!
pause
goto menu

这几行代码定义了标签 b 的内容。使用 set /p 命令提示用户输入新用户的用户名和密码,并将其保存到变量 userpasswd 中。然后使用 net user 命令创建新用户,并输出提示信息。最后使用 pausegoto 命令返回主菜单。

:c
set /p user=请输入用户名:
set /p passwd=请输入新密码:
net user  %user% %passwd% 
echo 密码已经修改完毕,谢谢使用!
pause
goto menu

这几行代码定义了标签 c 的内容。使用 set /p 命令提示用户输入要修改密码的用户名和新密码,并将其保存到变量 userpasswd 中。然后使用 net user 命令修改对应用户的密码,并输出提示信息。最后使用 pausegoto 命令返回主菜单。

:d

set /p user=请输入用户名:

net user %user% /del

echo 用户已经删除完毕,谢谢使用!

pause

goto menu

这几行代码定义了标签 d 的内容。使用 set /p 命令提示用户输入要删除的用户名,并将其保存到变量 user 中。然后使用 net user 命令删除对应的用户,并输出提示信息。最后使用 pausegoto 命令返回主菜单。

:e
set /p user=请输入用户名:
net user  %user% /active:yes
echo 用户已经激活完毕,谢谢使用!
pause
goto menu

这几行代码定义了标签 e 的内容。使用 set /p 命令提示用户输入要激活的用户名,并将其保存到变量 user 中。然后使用 net user 命令激活对应的用户,并输出提示信息。最后使用 pausegoto 命令返回主菜单。

:f
set /p user=请输入用户名:
net user  %user% /active:no
echo 用户已经禁用完毕,谢谢使用!
pause
goto menu

这几行代码定义了标签 f 的内容。使用 set /p 命令提示用户输入要禁用的用户名,并将其保存到变量 user 中。然后使用 net user 命令禁用对应的用户,并输出提示信息。最后使用 pausegoto 命令返回主菜单。

:g exit

这行代码定义了标签 g 的内容。使用 exit 命令结束程序。

这个 Windows 批处理脚本实现了一个简单的用户管理功能,方便用户对计算机中的用户进行操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库----数据查询

1.6 查询语句 语法:select [选项] 列名 [from 表名] [where 条件] [group by 分组] [order by 排序][having 条件] [limit 限制]1.6.1 字段表达式 mysql> select 锄禾日当午; ------------ | 锄禾日当午 | ------------ | 锄禾日当午 | ---…

5个最好的乐高设计软件

如果你的目标是构建一个由数千个元素组成的乐高套装,你需要首先使用现有的最佳乐高设计软件进行规划。 通过使用本文中介绍的软件,你将学会创造性地思考并在不使用架构部件的情况下进行构建。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 乐高设…

最新AI创作系统+ChatGPT商业运营源码+支持GPT4.0+支持国内AI模型/支持AI绘画

一、AI创作系统 SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧&#x…

多线程的学习上篇

座右铭: 天行健,君子以自强不息;地势坤,君子以厚德载物. 引入进程这个概念的目的 引入进程这个概念,最主要的目的,是为了解决“并发编程"这样的问题. 这是因为CPU进入了多核心的时代 要想进一步提高程序的执行速度,就需要充分的利用CPU 的多核资源…

部署Envoy Sidecar代理:演示如何将Envoy作为Sidecar代理注入到应用容器中

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

【pytest】 pytest拓展功能 PermissionError问题

目录 1. pytest-html 1.1 PermissionError: [Errno 13] Permission denied: D:\\software\\python3\\anconda3\\Lib\\site-packages\\pytest_html\\__pycache__\\tmp_ttoasov 1.2错误原因 2. 失败用例重试 3. 用例并行执行 pytest-parallel 1. pytest-html 管理员打开 A…

使用postman测试邮件接口

首先找到token的位置 找到token的值之后 复制接口文档里的地址,在接口文档给的底之前前加api 配置token 在params参数里增加token参数 值复制浏览器里的token参数 发送send就ok了

交换机的工作原理(含实例,华为ensp操作)

目录​​​​​​​ ​​​​​​​1.交换机学习和转发 案例 1.设置静态地址表项 2.配置黑洞mac地址表项 1.交换机学习和转发 交换机工作在数据链路层。当交换机从某个端口收到一个帧时,它并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址&a…

JMeter:接口测试基础介绍

一、什么是接口 接口是非常抽象的概念,先来看下中国最大的综合性辞典《辞海》是怎样定义接口的: 两个不同系统或系统中两个不同特性部分的交接部分。一般分硬件接口和软件接口两种。前者是为连接计算机各部分之间、计算机与计算机之间、计算机与外部系统…

Matlab论文插图绘制模板第114期—带图形标记的图

之前的文章中,分享了Matlab带线标记的图: 带阴影标记的图: 带箭头标记的图: 进一步,分享一下带图形标记的图,先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中&…

9.18 QT作业

mainwindow.h QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();signals:void jump(); //自定义跳转信号函数private slots:vo…

小插曲 -- 使用Linux编写 判断程序是否在运行的小程序

编写思路 首先,在执行“ps -elf |grep xxx”时,如果xxx存在,通常会有两条结果,一个是xxx对应的PID,一个则是grep对应的PID,但是如果我希望执行命令后,xxx存在就只有xxx对应的PID,不…

Vue3函数式编程

文章目录 前言一、三种编程风格1.template2.jsx/tsx3.函数式编写风格 二、函数式编程1.使用场景2.参数3.例子3.render渲染函数 总结 前言 本文主要记录vue3中的函数式编程以及其他编程风格的简介 一、三种编程风格 1.template Vue 使用一种基于 HTML 的模板语法,…

QML元素定位器:Row、Colum、Grid、Flow、定位器嵌套以及Repeater用法

在QML中,定位器(Positioner)是一种特殊的组件,用于管理其子项的位置。定位器确保其子项始终根据给定的规则排列。Qt Quick提供了几种定位器,用于处理不同的布局需求。 以下是一些常用的QML定位器: Row:将其子项沿水平线排列。Column:将其子项沿垂直线排列。Grid:将其子…

6.3 字符数组

思维导图: 前言: 主要内容: 前言内容整理 字符型数据和存储 字符型数据是依据字符的ASCII代码存储在内存单元中,通常占用一个字节的空间。ASCII代码可以被认为是整数,因此在C99标准中,字符类型被归类为整…

若依DataScopeAspect数据权限解析和ew.customSqlSegment源码解析

目录 一、DataScopeAspect使用场景二、ew.customSqlSegment${ew.customSqlSegment}build:this.normal : queryWrapper where 条件不为空的时候,才有normalget第二次 进来add(), 已经拼接完 ew.customSqlSegment 了, 因为DataPermission 注解进…

开发一个训练LORA的WebUI

文章目录 效果原理说明代码 效果 原理 基于开源项目kohya-ss/sd-scripts增加了Gradio UI,精简了训练参数,更适合初级“炼丹宝宝”的炼丹炉! 核心思想还是比较简单的,通过Gradio UI来收集设置的训练参数,并通过python的…

全国职业技能大赛云计算--高职组赛题卷⑤(私有云)

全国职业技能大赛云计算--高职组赛题卷⑤(私有云) 第一场次题目:OpenStack平台部署与运维任务1 基础运维任务(5分)任务2 OpenStack搭建任务(15分)任务3 OpenStack云平台运维(15分&am…

渗透测试信息收集方法

一、域名收集 OneForAll输出表格方便筛选(status、title) layer5.0saintsec更新版子域名挖掘机 百度云链接: https://pan.baidu.com/s/1VQ2HLocs39B72ElysskPog 提取码:121l subdomainsBurte,python2子域名爆破 https://github.com/y1ng1996/lijiejie_subDomainsBru…

偶现来电时手机操作出现重启

问题描述:偶现来电时手机操作出现重启 问题分析:从系统Log看 09-06 10:22:44.791829 1400 1425 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in handler on main thread (main) 09-06 10:22:44.794133 1400 1425 W Watchdog: main …