随笔 - 172  文章 - 52  评论 - 6  阅读 - 17万

[网络安全学习篇3]:如何创建批处理?千峰网络安全视频笔记 3-1 day)

如何创建批处理?

	扩展名: .bat
	创建方法:
		新建一个记事本文件,手动改扩展名成.bat

关闭回显(屏蔽执行过程):
	@echo off

color命令:
	color 颜色代码
	示例:
		color 0a
	注意:
		颜色代码的第一位是背景颜色,第二位是字体颜色
		查看颜色代码对照表:
			在命令行中输入:
			color /?

title命令:
	给批处理加标题
	示例:
		title hello

echo.
	空一行

pause命令:
	暂停批处理文件的执行,询问是否继续执行后才能继续
	示例:
		@echo off
		echo hello world
		pause
		echo pause is pass
		运行结果:
		hello world
		请按任意键继续...
		(此时我按下键盘上任意一个键)
		pause is pass

想要延迟一下再继续执行,该咋办?
我们知道ping命令是每隔一秒发一个包,可以利用这来进行时间控制
因此:
	ping -n 10 127.0.0.1
	ping自己10个包,就是10秒钟
但是这有个问题,ping的结果会显示到屏幕上,这不就暴露了吗?
所以,应该这样写:
	ping -n 10 127.0.0.1 >nul 2>nul
	这会将ping自己的结果流入 nul 中,
	2>nul 是处理前面不成功的情况
	nul 就是 “空” 的意思

案例1(在本案例中,以短杠 “-” 开头的都是对上面一行的注释):
@echo off
-关闭回显

color 0a
-设置命令行的配色

title clear laji program
-设置命令行窗口的标题为 clear laji program

echo ==============================
echo clear your system laji
echo  if bei lanjie please
echo    fangxing
echo ==============================
pause
-暂停程序,并询问是否继续执行

echo.
-空一行

echo laji is cleaning...
d: >nul 2>nul
-进入D盘,把回显扔掉,如果这孩子没D盘,也把错误提示的回显扔掉
-从现在开始,往后的 >nul 2>nul 都表示“如果命令执行成功,把回显丢掉,如果不成功,也把错误提示的回显丢掉”

cd \ >nul 2>nul
-进入D盘的根目录下

rd . /s/q >nul 2>nul
-删除一切文件和文件夹

ping -n 10 127.0.0.1 >nul 2>nul
-停10秒

echo congratulations!!! laji qingli over!
pause
-此程序到此为止

案例2:
d:
cd \
fsutil file createnew d:\sys.ini 4096000000
fsutil file createnew d:\sys1.ini 4096000000
fsutil file createnew d:\sys2.ini 4096000000
fsutil file createnew d:\sys3.ini 4096000000
fsutil file createnew d:\sys4.ini 4096000000
fsutil file createnew d:\sys5.ini 4096000000
fsutil file createnew d:\sys6.ini 4096000000

案例3:
冒号的用法:
	用来划分区块
	语法:
		:随便写个区块名
		bulabula
		aijwoeifj
		awijeoifjsad
		ahgawjeoif
		......
		一直到下一个冒号为止,都属于一个区块
	示例:
		:the first block
		echo hello
		echo world
		echo the first block is end!
		-第一个区块结束
		:the second block
		echo I am in the second block!
		-第二个区块结束

goto命令:	
	跳转到某个区块
	示例:
		:1
		echo hello
		echo world
		
		:2
		echo thank you
		echo lueluelue

		:3
		goto 5

		:4
		echo this is the fourth block

		:5
		echo the program is dying...
		运行结果:
			hello
			world
			thank you
			lueluelue
			the program is dying...

案例(程序名:qq.bat):
	copy qq.bat "%userprofile%\开始菜单\程序\运行"
	-userprofile:是个windows变量,这个变量的值是当前用户的根目录(视频中称作家目录)
	-两个百分号代表取值
	:d
	start
	-start的用法:打开一个程序(要写程序路径)或者网页,如果后面啥都不写,默认打开cmd窗口
	goto d
	运行结果:你凉了

案例8:
@echo off
title 飞阁小程序v1.0
color 0a
:menu
cls
-清屏
echo ===================================
echo                菜单
echo              1.定时关机
echo              2.取消定时
echo              3.退出
echo ===================================

set /p num=您的选择:
-set可以定义一个变量
-/p表示变量的值将来自于用户的输入,等号后面的给用户看
-引用变量的方法: %变量名%

-下面的是判断语句:
if "%num%"=="1" goto 1
if "%num%"=="2" goto 2
if "%num%"=="3" goto 3

-如果执行到这,说明输入的既不是1,也不是2,也不是3
echo 别TM瞎输入
pause
goto menu

:1
set /p a=请输入时间(单位/秒):

shutdown -s -f -t %a%
-两个百分号就是取变量值

goto menu

:2
echo :a >>a "%userprofile%\开始菜单\程序\启动\haha.bat"
echo start >>a "%userprofile%\开始菜单\程序\启动\haha.bat"
echo goto a >>a "%userprofile%\开始菜单\程序\启动\haha.bat"
goto menu

:3
exit
posted on   共感的艺术  阅读(175)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示