目录

  • 写东西到文件
  • 创建一个有存储空间的空文件
  • 修改关联
  • echo输出空行
  • 屏蔽一些信息
  • 实现延时
  • 暂停
  • goto命令
  • 有趣的批处理程序
  • 关机小程序


写东西到文件

创建文件的方法;
echo  要写的东西 >(或>>)  [路径] 文件名.文件的扩展名
>和>>多可以将你写的东西输入到某个文件中,若文件不存在,则同时创建该文件。
> 是覆盖的意思  >>是追加的意思。有点像c语言文件操作里面,操作参数的意思。

type 文件名.文件格式  //查看文件内容
del 文件名.文件格式  //删除文件

echo EOF 追加 echo追加多行_文件名

上面的命令操作有一个弊端 就是一次只能写一行。
那么多行写入是啥呢?
多行写入: copy con 文件名.文件格式// 意思就是将屏幕输入的东西复制到文件里
Ctrl+z 结束编写

echo EOF 追加 echo追加多行_文件名_02

创建一个有存储空间的空文件

快速生成一个空文件
fsutil file creats 路径/文件名.文件格式   大小
//不加路径的话 默认的路径是:   c:\Windows\system\

例:
fsutil file creats D:\1.ini   4000000000
attrib +s  +a  +h   1.ini   
//创建一个4G的文件夹并隐藏

//+是添加属性的意思  s是系统属性   a是只读属性   h是隐藏属性
//注意系统文件也是看不见的,
//隐藏文件看不到,我们可以开设置看到,但是此时系统属性的文件依旧是看不到的。
//一般人只知道设置隐藏属性,让隐藏文件显示出来,不知道此时系统文件也是隐藏也看不见。
//这时我们就可以写一个系统文件隐藏起来。
//系统文件的看到设置和隐藏文件的看到设置都在同一个目录下,所以把系统文件的设置打开系统文件也是可以看到的。

修改关联

修改关联
assoc.txt=exefile  
//把.txt文件的默认打开方式设置为 exe  
//这样造成的效果是.txt文件双击打不开,需要用自己手动的用笔记本方式打开。
恢复:  assoc.txt=txtfile

echo输出空行

echo输出空行:
方法有很多:
echo= 
echo, 
echo; 
echo+ 
echo/ 
echo[ 
echo] 
echo: 
echo. 
echo\

屏蔽一些信息

>nul 是屏蔽操作成功显示的信息,但是出错还是会显示(即1>nul)
2>nul 是屏蔽操作失败显示的信息,如果成功依旧显示。
组合技:  >nul  2>nul   屏蔽所有输出语句显示,无论成功或失败界面均不再提示

实现延时

c语言我们都知道,导入一个包,里面有延时函数Sleep()
但是dos如何延时呢?

这就需要我们的ping命令了,通过发包来实现假的延时。
再配合屏蔽消息的命令来实现 虚拟的延时效果。
例:
ping -n 20  127.0.0.1 >nul 2>nul

暂停

pause

goto命令

和C语言里的goto命令大同小异。
例:
:a
start
goto a
//效果就是一直打开cmd窗口  
//start  没参数默认打开的是cmd
不过我更喜欢fork炸弹 %0|%0  😊

来一个有点意思的批处理代码:
copy 当前文件名字.bat  "%userprofile%\Start Menu\Programs\Startup"
:a
start
goto a
//效果就是把咱这个文件复制到启动菜单,一直打开cmd窗口  
//  %% 是取值
//userprfile 是当前用户的用户配置文件的根目录
// " " 是防止里面有特殊字符

有趣的批处理程序

@echo off
echo hello   >>"%userprofile%\Start Menu\Programs\Startup\1.txt  "
echo world  >>"%userprofile%\Start Menu\Programs\Startup\1.txt"
pause
//创建一个文本,并写入hello world 在启动栏下
//你当然也可以写一个恶意的批处理文件  让它自动的添加到启动栏下。

关机小程序

@echo off
title 关机小程序
mode 30,15
color 0a
:menu
cls
echo              菜单
echo  〓〓〓〓〓〓〓〓〓〓〓〓〓〓
echo.
echo           1. 关机
echo.
echo           2. 取消关机
echo.
echo           3. 定时关机
echo.
echo           4. 退出
echo.
echo  〓〓〓〓〓〓〓〓〓〓〓〓〓〓
echo 请按1--4的选择键
set /p num=你的选择是:
if "%num%"=="1"  goto 1
if "%num%"=="2"  goto 2
if "%num%"=="3"  goto 3
if "%num%"=="4"  exit

:1
shutdown -s -t 00
goto menu

:2
shutdown -a
goto menu

:3
cls
echo 输入你要多久后关机(单位:s):
set /p time=
shutdown -s -t %time%
goto menu