Windows DOS命令和批处理脚本

1. 基本命令

1.1 文件操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看当前路径下的所有文件夹和文件(文件夹内的文件不会显示)
dir
# 打开文件夹
# !!Tab可以智能补充文件名字,非常好用
cd test
# 以下为操作文件夹
# 创建文件夹
mkdir test
md test
# 重命名文件夹
ren test test1
# 将文件夹a中的文件复制到b文件夹(相对路径或绝对路径)
copy a b
# 删除文件夹
rmdir test
rd test
# 以下为操作文件
# 删除文件
del test.txt
# 重命名文件
move test.txt test1.txt
# 移动文件
move c:\test.txt d:\test.txt

1.2 基本运算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 设置变量
set a=10
# 代数运算
set /a b=%a%+2
set /a b=%a%/2
# 重定向运算
# 覆盖文件原始文本
echo "hello world" > a.txt
# 在文件末尾追加文本
echo "hello world" >> a.txt
# 多命令运算
# 与操作,只要前面有命令错误,后续就不执行
ipconfig && net user
# 或操作,只要前面有命令正确,后续就不执行
ipconfig || net user
# 管道运算,将前者的输出作为后者的输入
dir | find "*.txt" # 找到当前路径下所有的txt文件

1.3 批处理程序常用命令

批处理程序是windows自带的脚本,可以在 cmdpowershell 中直接运行,文件后缀为.bat,主要命令包括:

1
2
3
4
5
6
7
8
9
10
11
# 不输出描述(一般加在开头)
@ echo off
# 执行完脚本后结束(一般加在结尾)
pause
# 输出
echo "hello world"
# 传参: %1
# test.bat: echo %1
test.bat "hello world"
# 调用其他脚本
call test2.bat

1.4 其他常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# cmd中的注释和powershell并不相同
rem "这是注释"
:: "这是注释"
# 清屏
cls
# 打开某可执行文件
d:\matlab.exe
# 用某可执行文件打开某文件
d:\matlab.exe d:\test.m
# 文件树状图
tree
# 循环文件夹
for /d %%a in (*) do echo %%a # 打印当前目录所有文件夹
for /d %%a in (*) if %%a==test rd %%a # 遍历文件夹,如有名为test的则删除
# 循环文件
for /r "d:\matlab" %%a in (*.m) do echo %%a # 打印d:\matlab文件夹下所有m文件

2. 用DOS命令实现自动化仿真

作为工科学生,我们很多时候需要对仿真软件设置大量不同的参数组合来获得多组不同的结果,当组合数爆炸时,这个工作量会十分巨大,反复摧残我们的心灵。这时,采用DOS命令来实现自动化仿真将大幅降低我们的工作量。其基本工作原理如下:

第一步中,主流编程语言(Python、Matlab等)都能够直接调用dos命令。例如Python中的 os.system() ,Matlab中的 dos() 等。

第二步中,“跑”仿真的过程,本质上是将仿真模型编译为一个特定格式的文件,通过仿真软件读取这个文件进行计算,因此只需要用仿真软件(.exe)将仿真模型文件打开即可。

第三步中,仿真软件一般都具有和其他编程语言的接口,能够将仿真结果通过接口传入编程语言,进行后续处理。


Windows DOS命令和批处理脚本
https://princehao.cn/posts/blog003/
作者
王子豪
发布于
2023年1月19日
许可协议