输出hello world
echo 'hello world!'
不停顿执行
@echo off
echo 'hello world!'
2停顿执行 hello world #
@echo off
echo 'hello world!'
pause
带盘符的执行 hello world
echo 'hello world!'
pause
ipconfig 查看网络状态
cls 清空
calc 计算器
逻辑判断效果一样的
命令模式
set/a 1+3 # 算术运算
set /A 1+3 #不区分大小
set /a 4%3 # 取余
set /a 4*3
set /a 4-3
# 文件形式执行
@echo off
set /a var=4+6
echo %var%
pause
# 改变优先级
@echo off
set /a var=10*(10-6)
echo %var%
pause
windows 批处理运算
dir
echo 'hello world!'>a.txt # 将输出保存在a.txt 中
type a.txt #查看
echo 'hello world!'>>a.txt # 追加输入保存内容
echo 'hello batch file'>a.txt # 抹除原有数据并添加。
# 与或运算 and or
ipconfig && net user
aaa && ipconfig # 报错 and
aaa || net user # 忽略错误,继续执行
ipconfig || net user # 第一个命令执行成功,那么第二个命令不执行,短路规则。
管道符号,或者管道运算
echo 2 >2.txt
mkdir b
dir
dir | find ".txt" # 查找输出后缀为.txt 的文件
netstat -an # 查看网络连接
ESTABLISHED # 查看建立连接信息。
批处理的基本命令
net
net /?
# 以上两种方式启动帮助
net user /?
net user test test /?
net user test test /add # 敏感行为,创建新用户
net user /help # 获取帮助的详细信息
批处理文件参数传递
@echo off
echo %1
echo %2
pause
#file.bat admin 123456 执行传参
@echo off
echo %1
echo %2
net user %1 %2 /add
pause
# file.bat admin 123456 # 创建新账户
net user # 查看电脑的账户
酷炫的命令行提示框
color /? # 只能单次设置命令窗口和字体的颜色
color 0c
title /? # 设置命令行提示窗口标题
title "hack"
日期
date
date /? #查看
date /T # 不显示修改
time
time /? #查看
time /T
开始命令
start /?
start #启动新的命令窗口
cd # 切换目录 dir 展示
start file.bat #启动相关文件
type file.bat # 查看文件内容
net user admin/delete # 删除用户
# 在管理员窗口可运行
cd C:\Users\Administrator\Desktop\a
net user admin/delete # 删除用户
start /B file.bat admin 123456 # 创建新用户 /B 意思是不启动新的窗口
start /? 寻求帮助
调用其他bat 命令
@echo off
echo %1
echo %2
net user %1 %2 /add
call 3.bat %1 # 不能传递参数
pause
# call 调用子程序 不能传递参数
批处理基本命令
tasklist # 显示服务 该工具显示在本地或远程机器上当前运行的进程列表。
tasklist /? #寻求帮助
tasklist /s 192.168.1.24 /u adminstrator /p 密码
tasklist /FI "status eq UNKNOWN" # 筛选出等于 unknown 的服务进程
tasklist /FI "status eq running" # 查看win 中正在运行的进程
tasklist /fi "pid eq 9000" # 筛选固定pid 进程
tasklist /fi "pid eq 9000" /fo table # 输出默认的表格格式
tasklist /fi "pid eq 9000" /fo list # 顺出列格式 csv 输出CSV 格式
# 可以做重定向
tasklist /fi "pid eq 9000" /fo CSV >2.txt
任务终止命令介绍
taskkill /? #使用该工具按照进程 ID (PID) 或映像名称终止任务。
notepad # 创建新服务
taskkill /im notepad.exe #结束上面的程序
taskkill /pid 8380 /T # 任务代号在任务管理器 详细信息中查找
tasklist /s 192.168.1.24 /u adminstrator /p 密码 /fi "pid eq 860"/T /F
文件夹结构tree 命令
tree
tree /? # 查看帮助
tree /F /A # 查看文件及文件夹名称树
tree C:\Users\Administrator\Desktop /f /a # 查看指定路径下的文件及文件夹名称树
关机命令
shutdown /?
shutdown /i # 使用图形界面
# 第14节bat 的计划任务命令
schtasks /? # 计划任务命令不可用
SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
/MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00
/SD 06/06/2006 /ED 06/06/2006 /RU runasuser /RP userpassword
SCHTASKS /Create /SC WEEKLY /TN report /TR notepad.exe
环境变量
@echo off
echo %os%
pause
# 双击运行,结果为 Windows_NT
echo %os%
文件夹以及文件相关命令 p19
dir /?
dir /a
dir /l
#文件的创建与删除
mkdir test
mkdir a\a\v\b
rmdir c /s /q
md test #创建文件夹
dir
cd test
cd.. #挑上一级目录
ren test test1 #重命名文件夹
rename test test1
#复制文件copy
md test1
md test2
echo '1111'>1.txt
echo '2222'>2.txt
echo '3333'>3.txt
copy test2 test1 #将文件夹2的内容复制到文件夹1
#删除文件del
del C:\Users\Administrator\Desktop\a\1\ 1.txt
del 1\*.txt # 删除txt 文件夹
#剪切move
move 1.txt 2.txt #类似于重命名
move 1\* 2
move 2\2.txt 1\test.txt # 移动并重命名
#用户控制
net user admin /delete
net user admin admin/add
#用户组操作命令
net localgroup
net localgroup administrators guest /add #创建类管理员权限账户
net localgroup Administrators guest /delete
# 网络检测ping 命令
ping www.baidu.com
ping 127.0.0.1 # 查看网卡是否正常运行
ping -l 11111111 192.168.1.24
ping -l 65500 192.168.1.24 # 查看接收与丢失包的情况
ping -l 11111111 -t 192.168.1.24 # 一直发送,直到停机
#网络连接命令 telnet
# 路由信息查看 tracert
tracert 192.168.0.1
tracert www.baidu.com
#路由器查看命令 ipconfig
ipconfig /release #释放ip
ipconfig /renew # 更新ip
ipconfig /renew WLAN* # 更新无限驱动设备ip地址
arp 显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
arp -s 192.168.0.1 aa-aa-aa-aa-aa-aa # 添加
#条件判断结构
@echo off
rem 演示if-else 结构 判断字符串是否为规定的字符串
set v =hello
if %V%==hello (echo ok) else (echo no)
pause >nul # 报错
文件存在 判断
@echo off
rem 程序判断 1.bat 是否存在
if exist E:\360MoveData\Users\Administrator\Desktop\a\1.bat (echo ok) else (echo no)
pause >nul
@ echo off
if exist E:\360MoveData\Users\Administrator\Desktop\a\1.bat (
echo file is find!
del E:\360MoveData\Users\Administrator\Desktop\a\1.bat
) else (
echo file is not find
)
pause>nul# 文件找到一支没有错误,未找到部分报错
# 循环结构
遍历目录
@echo off
rem for test #遍历文件夹
for /d %%a in (*) do echo %%a
pause>nul
for /d %%名称 in(路径/*)do 具体操作
@echo off
for /d %%a in (*) do if %%a==1 rd %%a
for /d %%a in (*) do echo %%a
pause>nul # 遍历文件夹,删除1
遍历目录和子目录下文件
@echo off # 显示py 文件
for /r "E:\360MoveData\Users\Administrator\Desktop\a" %%v in (*.py) do echo %%v
pause>nul
#显示py 文件并作删除操作
@echo off
for /r "E:\360MoveData\Users\Administrator\Desktop\a" %%v in (*.py) do echo %%v
echo delete all *.py
for /r "E:\360MoveData\Users\Administrator\Desktop\a" %%v in (*.py) do del %%v
# 删除并展示*.py 文件
pause>nul
遍历数字
@echo off
rem for test
for /L %%v in (1,1,20) do echo %%v
pause>nul
#循环ping
@echo off
rem for test
for /L %%v in (1,1,20) do ping %1.%%v # 数字1
pause>nul
# 遍历文件内容
@echo off
rem for test
for /f %%v in (3.bat) do echo %%v
pause>nul
@echo off #反复递归调用,创建virus 文件夹
cd c:\Documents and Settings\%username%\Desktop
:loop
md virus
cd virus
goto loop
pause>nul
exit
# 计算机信息展示
@echo off
echo.>log.txt
echo Log File >> log.txt
echo.>>log.txt
echo User : %username% >> log.txt
Date /t >>log.txt
Time /t >>log.txt
echo.>>log.txt
echo Process Ran by %username% >> log.txt
echo.>>log.txt
tasklist >> log.txt
echo.>>log.txt
echo Network Activities >> log.txt
netstat -s >> log.txt
ipconfig /all >>log.txt
exit
#交互操作 goto
@echo off
echo 1.a
echo 2.b
echo 3.c
echo 4.d
:first
echo Enter your option:
set /p opt=
if %opt%==1 goto one
if %opt%==2 goto two
if %opt%==3 goto three
if %opt%==4 goto four
echo Invalid option
goto first
:one
echo your choice one
pause>nul
exit
:two
echo your choice two
pause>nul
exit
:three
echo your choice three
pause>nul
exit
:four
echo your choice four
pause>nul
exit
@echo off
echo 1.show ip address
echo 2.show network link
echo 3.show directory
:main
echo Enter your option:
set /p opt=
if %opt%==1 goto one
if %opt%==2 goto two
if %opt%==3 goto three
echo Invalid option
goto main
:one
ipconfig /all
pause>nul
exit
:two
netstat -an
pause>nul
exit
:three
dir
pause>nul
exit
#计划执行操作
@echo off
rem Automate Running
at 10:00 AM/every:SU,M,TU,W,TH,F,SA "E:\360MoveData\Users\Administrator\Desktop\a\file.bat"
exit # 已不可用
# bat 转EXE 程序