批处理心得体会
书写环境
一定要在记事本里写,nodepad++中可能会有些默认的样式,曾经把nodepad++中的批处理代码直接复制到txt中是没有格式的,最终导致批处理无法执行。所以最好在txt中书写,按照格式空格换行写好就好了,有些时候看着代码格式无误,但运行出错,可能是因为中间有些格式在编辑时出错,比如换行目测有实际没有等的情况,在错误所在处进行检测,可以重新写一遍或者重新敲下回车试试。
例子
if(条件判断) \ set(设置变量)
@echo off
echo ----1、注销系统
echo ----2、重启系统
echo ----3、关闭系统
echo ----4、退出
set num=
::接收用户的输入并作为变量保存到num中去
set /p num=请选择你要执行的操作:
if "%num%"=="1"(
logoff
)
if "%num%"=="2"(
shutdown -r /t 000
)
if "%num%"=="3"(
shutdown -p
)
echo 你输入了%num%将退出
pause
if \ echo \ type
@echo off
if exist a.txt (
echo 找到了a.txt,其内容为 type a.txt) else (
echo 没有找到a.txt
)
pause
管道
@echo off
find "1" 1.txt | sort /r >2.txt
::/r为倒序排列
pause
> >>用于将内容写入文件
ping sz.tencent.com > a.txt
ping sz1.tencent.com >> a.txt
ping sz2.tencent.com >> a.txt
ping sz3.tencent.com >> a.txt
ping sz4.tencent.com >> a.txt
ping sz5.tencent.com >> a.txt
ping sz6.tencent.com >> a.txt
set
@echo off
set nnn=
set /p nnn=请输入命令:
%nnn%
pause
@echo off
set /p num=请输入要执行的操作:
set /p a=请输入内容:
set /p b=请输入文件名:
set /p c=请输入复制后的文件名:
echo %a% >%b%.txt
copy %b%.txt c:\%c%.txt
pause
set a=
set b=
set c=
start
@echo off
echo "将在新窗口中执行命令"
start /wait cd /d c:\
::将等待新窗口执行完毕
pause
@echo off
echo "将在新窗口中执行命令"
start cd /d c:\
::只负责在新窗口执行命令
pause
if \ set \ if中使用变量的情况
@echo off
set /p n=请输入要执行的操作:
if "%n%"=="1" (
set /p a=请输入内容:
set /p b=请输入文件名:
set /p c=请输入复制后的文件名:
goto aa
:aa
echo %a% >%b%.txt
goto bb
:bb
copy %b%.txt c:\%c%.txt
::if中的变量引用如果不使用goto时只能引用到第一个变量!
)
pause
set a=
set b=
set c=
set num=
goto
goto last
type a.txt
:last
dir a.txt
pause
call
@echo off
echo 正在调用called.bat
pause
call called.bat
echo called.bat 调用完毕!
echo 现在开始调用xx后面的命令
call :xx
:xx
xx后面的命令
pause
called.bat文件:
echo "called中的批处理"
通过检测端口检查病毒
netstat -a -n > a.txt
type a.txt | find '7626' && echo 'Congrartulations! You have infected GLACIER!'
del a.txt
pause & exit
for in循环
@echo off
echo "collection:" > a.txt
for %%x in (*.bat) do (
type %%x >> a.txt
)
pause
<
@echo off
sort <1.txt
pause
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!