CMD命令

  cmd.exe是windows NT引入的,windows NT以前的叫COMMAND.COM,它是windows的一个shell.是在Windows NT中引入的.空白处shift+右键,可以看到相关运行菜单,这样开始目录就是当前目录.

常用内建命令

cls 清屏

tasklist 列出当前的进程

taskkill 杀死进程

dir 列出当前目录所有文件和文件夹
dir *.txt 列出当前目录下的txt文件
dir /b 只列出相关文件和目录信息,无其他
dir /b /s 列出全路径,无其他信息
dir /b/s *.txt

echo 打印后面字面值,变量用%变量%,字符串不用加引号
^是cmd中的转义
echo 其中的<>被识别成重定向,用echo ^转义,将打印

set 定义变量
set name=** 注意=后面没有空格
后面用%name%访问
set name= 等号后面没有内容相当于删除name

cd 用于切换目录,但是不能跨盘符,
cd 返回当前目录
cd D:\12 切换当前目录到D:\12
cd .. 返回上级目录,空格要用引号

color [bf]
设置背景色和前景色
color 07
默认的黑色背景和白色前景
0 黑色
1 蓝色
2 绿色
3 水绿
4 红色
5 紫色
6 黄色
7 白色

del 删除文件
不经过回收站.del *.* 删除当前目录所有文件
/p 提示确认删除
/s 同时删除遍历子目录下的相关文件
/q 安静默认 del /q *.*不经过确认

copy 复制文件,也可用于相同目录的文件重命名
copy source.dat dst.dat
copy /a 以ASCII模式复制,文件中的Ctrl+Z字符被解释成文件结束
copy /b 二进制模式复制
copy /y 覆盖文件不经过确认
copy /-y覆盖文件前确认

exit终止
exit /b终止脚本但是不退出cmd,而exit终止后直接退出cmd
exit /b 1  将1作为退出码

goto label
转到:lable处

call 脚本
调用其他脚本

md 创建目录包含不存在的中间目录

move 移动文件
move source.dat dst.dat
move /y source.dat dst.dat 覆盖不提示
move /-y source.dat dst.dat 覆盖提示

pause 暂停直至输入

popd/pushd 目录出栈压栈,可用于切换根目录

rd 删除目录
rd /s 删除目录和子目录
rd /s /q  删除目录和子目录不经过确认

rename 修改文件夹名称
rename 旧名称 新名称

title 标题栏名称

相关环境变量

%PATH%系统的搜索路径
修改PATH
set PATH=%PATH%;C:\windows

%CD% 当前目录
%DATE% 当前日期
%TIME% 当前时间
%RANDOM%  0~32767之间的随机数
%ERRORLEVEL% 之前程序的退出状态,非0为异常,一般用if %ERRORLEVEL% 来进行相关异常处理流程,或者
if errorlevel == 0 echo program err

I/O重定向

重定向stdout到文件
tasklist>tasks.txt   新建文件
tasklist>>tasks.txt  更新文件
file 写stdout到文件
>>file 附加stdout到文件
1>file写stdout到文件
1>>file附加stdout到文件
2>file写stderr到文件
2>>file附加stderr到文件
2>&1 将stderr重定向到和stdout同样的流
>nul 重定向到nul忽略相关信息

其它信息

ping www.biadu.com & ping www.hao123.com
两个命令顺序执行
ping www.biadu.com && ping www.hao123.com
第一个命令错误后返回状态不为0才执行第二条命令

流程控制

if exist C:\data(
    echo 文件存在
)else(echo 文件不存在)

文件是否存在

if exist path
或者
if not exist path

批处理文件

rem 注释文本
setlocal/endlocal 保存恢复现场
@用于批处理文件中,用于不显示命令本身,之显示命令的结果
或者第一行用@echo off,后面的就不用@了
cmd /a或者/u用于当前是assic还是unicode输出

弹出对话框

mshta vbscript:msgbox("我是提示内容",64,"我是提示标题")(window.close)

你可能感兴趣的:(CMD命令)