ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows DOS命令\批处理脚本

2021-09-30 02:00:20  阅读:145  来源: 互联网

标签:批处理 文件 bat Windows cmd echo %% test 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>... 这样的描述不会输出,直接输出结果

简单演示

:: 两个冒号表示 cmd 的注释
rem 也表示 cmd 的注释
# 一个井号表示 powershell 的注释

bat 文件内容:
echo "Hello World!"
pause

cmd 运行指令:
test.bat
输出 "Hello World!"

powershell 运行指令:
.\test.bat
输出 "Hello World!"

覆盖与追加内容

覆盖
echo "hello world" > t.txt

追加
echo "hello world" >> t.txt

查看内容
type

多命令运算

短路
ipconfig || net user
从第一个执行,直到执行正确停止

断路
ipconfig && net user
从第一个执行,直到执行错误停止

net user

查看所有用户
net user

查看帮助
net user /?

查看帮助完整版
net user /help

其他命令感觉有点危险,先不写了

参数传递

bat 文件内容:
echo %1 %2

poweshell 运行指令:
.\test.bat Hello World!
输出 Hello World!

时间

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

test.bat 文件内容:
echo "Hello "
call test2.bat

test2.bat 文件内容:
echo "Wordl!"

poweshell 运行指令:
.\test.bat
输出 Hello World!

tasklist | taskill

获取当前状态运行进程的列表
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

文件生成树
tree
输出
C:.
├───a
├───b
└───c

换一种文件生成树
tree /A
输出
C:.
+---a
+---b
\---c

详细文件生成树
tree /F
输出
C:.
├───a
│       a.txt
│
├───b
└───c

shutdown

打开 GUI 执行远程主机关机的操作
shutdown /i

关闭本地主机
shutdown /p

at

某个时间点执行某个作业
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

cmd 运行指令:
显示当前环境变量
set

输出环境变量值
echo %OS%
输出 Windows_NT

操作文件夹

创建文件夹
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

循环结构

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

常用快捷键

清屏
cls

显示当前目录
dir (cmd | powershell)
ls (powershell)

打开当前文件夹
start .

查找文件
dir | find ".txt" (cmd)

显示当前路径
pwd (powershell)

标签:批处理,文件,bat,Windows,cmd,echo,%%,test,DOS
来源: https://www.cnblogs.com/CourserLi/p/15344685.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有