筱团Blog筱团のBlog

Windows DOS命令\批处理脚本

筱团·2021-09-30 01:52·4823 次阅读

Windows DOS命令\批处理脚本

批处理程序#

简单来说,批处理程序就是 Windows 自带的脚本,可以在 cmd | powershell 中直接运行,若写成文件,后缀为 .bat

小知识#

  1. cmd 与 powershel 不区分大小写
  2. 命令行的运算操作,类似于 PHP
  3. DOS 是磁盘操作系统;命令提示符是 DOS 系统的界面中输入 DOS 命令的提示位置;cmd 是系统运行其自带 DOS 的命令;cmd.exe 是一个 16 位的 DOS 应用程序
  4. PID 是 processid(进程号);IM 是 imaginename(映像名称)
  5. 在 .bat 文件开头加上 @echo off 代表不输出描述,比如 C:\Users\14805\desktop>... 这样的描述不会输出,直接输出结果
  6. 设置变量 set a=10,输出变量 echo %a%,设置变量表达式 set /a b=%a%+1

简单演示#

Copy
:: 两个冒号表示 cmd 的注释 rem 也表示 cmd 的注释 # 一个井号表示 powershell 的注释 bat 文件内容: echo "Hello World!" pause cmd 运行指令: test.bat 输出 "Hello World!" powershell 运行指令: .\test.bat 输出 "Hello World!"

覆盖与追加内容#

Copy
覆盖 echo "hello world" > t.txt 追加 echo "hello world" >> t.txt 查看内容 type

多命令运算#

Copy
短路 ipconfig || net user 从第一个执行,直到执行正确停止 断路 ipconfig && net user 从第一个执行,直到执行错误停止

net user#

Copy
查看所有用户 net user 查看帮助 net user /? 查看帮助完整版 net user /help 其他命令感觉有点危险,先不写了

参数传递#

Copy
bat 文件内容: echo %1 %2 poweshell 运行指令: .\test.bat Hello World! 输出 Hello World!

时间#

Copy
cmd 运行指令: 年月日 date 输出 当前日期: 2021-09-27 date /T 输出 2021-09-27 时分秒 time 输出 当前时间: 23:14:16.68 time /T 输出 23:14 poweshell 运行指令: date 输出 2021年9月27日 23:14:49

call#

Copy
test.bat 文件内容: echo "Hello " call test2.bat test2.bat 文件内容: echo "Wordl!" poweshell 运行指令: .\test.bat 输出 Hello World!

tasklist | taskill#

Copy
获取当前状态运行进程的列表 tasklist 获取指定要连接的远程系统的 tasklist tasklist /S 192.168.0.1 /U admin /S password 其他参数:/FI 用于筛选 /FO 输出指定格数 tasklist /FI "PID eq 3232" /FO csv > a.csv taskkill 是关闭进程 taskkill /IM notepad.exe

tree#

Copy
文件生成树 tree 输出 C:. ├───a ├───b └───c 换一种文件生成树 tree /A 输出 C:. +---a +---b \---c 详细文件生成树 tree /F 输出 C:. ├───a │ a.txt │ ├───b └───c

shutdown#

Copy
打开 GUI 执行远程主机关机的操作 shutdown /i 关闭本地主机 shutdown /p

at#

Copy
某个时间点执行某个作业 at 21:56 "notepad.exe" 删除某个作业 at 2 /delete 每天都在某个位置执行某个作业 at 22:00 /every:M,T,W,Th,F,S,Su C:\Users\14805\desktop\payload.exe

set#

Copy
cmd 运行指令: 显示当前环境变量 set 输出环境变量值 echo %OS% 输出 Windows_NT

操作文件夹#

Copy
创建文件夹 mkdir test md test 重命名文件夹 ren test test1 将 a 文件夹中的文件复制到 b 文件夹 copy a b 删除文件夹 rmdir test rd test 删除文件 del *.txt 重命名文件 move test.txt test1.txt 移动文件 move C:\a\test.txt C:\b\test.txt

循环结构#

Copy
1. if () else () 2. if ( ) else ( ) 3. 循环文件夹 # for /d %%名称 in (路径/*) do 具体操作 .bat文件内容:打印当前文件夹下的所有文件夹 for /d %%a in (*) do echo %%a 4.循环文件 # for /r "目录文件" %%名称 in (匹配规则,例如 *.py) do 具体操作 .bat文件内容:打印当前文件夹下的所有.py文件 for /r "C:\Users\14805\Desktop\abc" %%a in (*.py) do echo %%a 5.循环数字 # for /L %%a in (start,step,end) do 具体操作 .bat文件内容:ping 168.0.0.1 至 168.0.0.20(传入参数 %1 等于 168.0.0) for /L %%a in (1,1,20) do ping %1.%%a 6.循环文件中的内容 # for /F %%a in (文件名) do 具体操作 .bat文件内容:打印test.bat中的内容 for /F %%a in (test.bat) do echo %%a

常用快捷键#

Copy
清屏 cls 显示当前目录 dir (cmd | powershell) ls (powershell) 打开当前文件夹 start . 查找文件 dir *.txt (cmd | powershell) 显示当前路径 pwd (powershell)
posted @   筱团  阅读(4823)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示
目录