赞
踩
Windows命令行
1.echo 显示内容
echo 内容 (类似log)
echo on/off 打开/关闭回写
@echo off 内容 pause (写pause时才进行输出)
2.cd 进入目录
cd 内容 (path路径,进入到对应的文件夹下面,如果不是当前盘符,需要先执行 盘符:(e:))
cd … 进入父目录
cd \ 返回根目录
cd e: (显示之前盘符所在目录)
e: (盘符: 表示进入某个盘(记录上次进入这个盘的目录,直接进入到对应目录)) 直接进入e盘根目录 cd /d d:
3.dir 显示目录中的内容
dir (显示当前目录中子文件夹和文件 (包含创建时间、大小、文件夹与文件的文件名称) )
dir /b (只显示当前目录中的子文件夹与文件的文件名)
dir /p (分页显示当前目录中的子文件夹与文件)
dir /ad (显示当前目录中的子文件夹(只显示文件夹,不显示文件))
dir /a-d (显示当前目录中的文件(只显示文件,不显示文件夹))
dir ttt.txt (显示ttt.txt文件的信息)
dir 文件夹(也可以包含目录文件夹,显示该文件夹下面子文件夹和文件 包含文件信息 (并没有进入到这个文件夹路径))
4.tree 显示目录结构
tree 路径(显示对应文件夹里面的目录结构)
5.ren ttt.txt 测试.txt (将当前目录下的ttt.txt改名为测试.txt)
ren 测试 测试01 (直接改对应目录下面的文件夹名)
6.md (创建文件夹)
md 文件夹名 (将在当前目录中创建文件夹)
md e:\work\测试 (直接在对应目录创建文件夹)
cd.>测试.txt (将在当前目录中创建txt文件)
echo 你好>c.txt (创建txt并写入文字)
7.rd (删除文件夹)
rd 文件夹名 (将在当前目录中删除文件夹)
rd e:\work\测试 (直接在对应目录删除文件夹)
rd 测试 /s /q (删除当前目录中的文件夹,包括子文件夹和子文件 /s表示删除子文件夹与子文件 /q表示不需要删除请求,安静模式)
del /p ttt.txt (删除每一个文件之前提示确认)
del /f ttt.txt(强制删除只读文件)
del /s ttt.txt(删除所有子目录中的指定的文件)
del /a ttt.txt(根据属性选择要删除的文件)
del /f/s/q ttt.txt(删除文件,并进行提示)
8.copy 拷贝文件
copy 测试.txt e:\ (将测试文件拷贝到e盘目录下)
copy 测试.txt 路径+文件名 (例:copy 测试.txt e:\测试\test.txt)(将文件拷贝到对应路径下,并且重命名)
copy /y 测试.txt 路径+文件名 (不需要询问是否覆盖)
copy /y 文件夹 e:(拷贝文件夹下面的所有文件到对应目录,不包括子文件夹,使用xcopy可以更方便 直接在后面加上/s)
copy 测试.txt+ (重新复制一个自己,实际只修改了文件日期)
copy 测试1.txt+测试2.txt 新.txt (将当前目录下的测试1和测试2合并写入新的.txt)
9.xcopy 更强大的复制命令
xcopy 文件夹路径 目标文件夹 (将文件夹路面的所有内容拷贝到目标文件夹里面 直接指定不包含子目录)
xopy 文件夹路径 目标文件夹 /s (将文件夹路面的所有内容靠背到目录文件夹路面,包含子目录(但我的电脑测试的是不包含子目))
xcopy 文件夹路径 目标文件夹 /d: 月-日-年 /s /y (将文件夹路面的超过这个日期的的文件全部拷贝到目标文件夹里面,包含子目录(但我的电脑测试的是不包含子目))
10.move 移动文件
move 测试.txt e:\ /y (移动测试到e盘)
move *.txt e:\ /y (移动所有后缀为txt到e盘) 例:move MyFo*.txt e:\Test (当目标文件夹为空时,就不能移动成功)
move 测试文件夹 e:\new (移动文件夹到new 文件夹,如果存在new文件夹,直接移动到该目录下,如果不存在,则将移动的文件夹移动到对应目录后把根目录文件夹改名为new)
11.del 删除文件 不会删除文件夹及子文件夹
del 文件夹 /q(删除当前目录下的文件夹中所有非只读文件,子目录下的文件不删除,并且还会进行删除前确认 == del/f new*)
del /f 文件夹 (含只读文件,子文件夹下的文件不删除,并且还会进行删除前确认 ==del/f new*)
del /f/s/q 文件夹 (含资质文件,含子文件夹下的文件)
del /a-r . 文件夹(删除当前文件夹下所有只读文件)
del /a-s . 文件夹(删除当前文件夹下除系统文件以外的所有文件)
12.replace 替換文件
replace 测试.txt e:\文件夹 (使用测试.txt 去替换e盘下面q文件夹下面的测试2.txt)
13.bat窗口
数字-颜色 | 数字-颜色 |
---|---|
0=黑色 | 8=灰色 |
1=蓝色 | 9=浅蓝色 |
2=绿色 | A=淡绿色 |
3=浅绿色 | B=淡浅绿色 |
4=红色 | C=淡红色 |
5=紫色 | D=淡紫色 |
6=黄色 | E=淡黄色 |
7=白色 | F=黄白色 |
– 下面这个标题可能是乱码,另存为 ANSI 格式就好
[
@echo off
title 测试bat
color 03 (16进制 0背景颜色黑色 1字体颜色)
mode con cols=50 lines=100
pause
]
14.文件写入内容
[
@echo off
title 测试bat
color 03
mode con cols=80 lines=50
d:
cd d:\NewFo
echo bat测试命令00 >测试2.txt ( >> 直接写入到原来的尾部) ( > 表示覆盖写入 )
pause
]
15.type 显示文本内容
[
@echo off
title 测试bat
color 03
mode con cols=80 lines=50
d:
cd d:\NewFo
type 测试2.txt
pause
]
16.find 文件中搜索字符 (findstr)
[
@echo off
title 测试bat
color 03
mode con cols=80 lines=50
d:
cd d:\NewFo
find /n “测试” 测试2.txt ( (注:只可以一次输入一个) /n 显示行数 /i 搜索字符串忽略大小写 /v 显示所有未包含指定字符串的行 /c 仅显示包含字符串的行数)
pause
]
17.参数 %1-%9
[
@echo off
title 测试bat
color 03
mode con cols=80 lines=50
d:
cd d:\NewFo
echo %1% >> 测试2.txt ( >> 直接写入到原来的尾部) ( > 表示覆盖写入 )
pause
]
使用 cmd 窗口 输入路径中test.bat文件名称test 写入参数 按下回车
18.rem注释
19.if 语句 goto 语句
if “%1” == “qwer” (“参数”==“参数”)
goto 名称 (查找是根据: 名称 进行匹配)
[
@echo off
title 测试bat
color 04
mode con cols=80 lines=50
d:
cd d:\NewFo
rem echo %1% >> 测试2.txt
if “%1” == “qwer” goto A
echo 参数不等于qwer
pause
exit
:A
echo 参数等于QWER
pause
]
(注意1. 括号所在位置 2.括号与关键字中间的空格)
if “%1” “qwer” 正常的字符串判断
if {%1}{} 判断是否有参数
[判断是否有参数
@echo off
if {%1}=={} goto A
:A
echo 没有参数
pause
]
[ 判断是否存在桌面文件学习笔记.txt
@echo off
if exist 学习笔记.txt goto A
echo 不存在
pause
exit
:A
echo 存在
pause
]
if else 语句
[
@echo off
title 测试bat
color 04
mode con cols=80 lines=50
d:
cd d:\NewFo
if “%1” == “qwer” (
echo 包含"qwer"
echo 1111
)else (
echo 不包含"qwer"
)
pause
]
20.exit 退出
21.call 命令,调用其他的.bat .cmd
call test
[
@echo off
echo 调用test
call test
pause
]
22.start 启动一个程序
[
@echo off
echo 调用test
start ““D:\Photoshop.exe””
pause
]
23.choice
[
@echo off
choice /c ync /m “确认Y,否N,取消C.” (/m代表显示的信息)
if errorlevel 3 goto C
if errorlevel 2 goto N
if errorlevel 1 goto Y
:Y
echo 确认
goto C
:N
echo 否
goto C
:C
echo 取消
pause
]
24.for
cmd窗口里:for %i in (command1) do command2 (引用变量为%i)
在bat中:for %%i in (command1) do command2 (引用变量为%%i)
在 command1 命令里面切分元素的时候,使用空格,逗号,等号作为分隔符
实例1:
cmd窗口里: for %i in (abc) do echo %i
在bat中:for %%i (a b c) do echo %%i
/L 开关控制循环次数
for /L %i in(start,step,end) do command2 (start开始的i,step递增值(如果为正递增,如果为负递减),end结束值)
示例2:
for /L %i in (1,2,10) do echo %i
/F delims=; (每一行以;符号为分割)
for /F “delims=;” %i in (学习笔记.txt) do echo %i
for /F "tokens=1,2 delims= " %i in (学习笔记.txt) do echo %i %j
tokens=2 代表取每一行的第几列 tokens=1,2 (取第一列和第二列 tokens=* (取全部))
for /F "tokens=1,2 delims= " %i in (学习笔记.txt) do echo %i %j
(bat:for /F "tokens=1,2 delims= " %%i in (学习笔记.txt) do echo %%i %%j)
for /F "tokens=* delims= " %i in (学习笔记.txt) do echo %i (取得全部以这个符号分割的字符)
eol 忽略以什么字符开头那一行
for /F "eol=e skip=2 tokens=* delims= " %i in (学习笔记.txt) do echo %i
usebackq (反转) ''表示command命令 ""表示string字符串
for /f "usebackq tokens=2 delims= " %i in (‘学习笔记.txt’) do echo %i (没有任何的输出)
for /f "usebackq tokens=2 delims= " %i in (“学习笔记.txt”) do echo %i (测试是全部输出)
25.date time
2021/01/11 周一
%date:~0,4% 年
%date:~5,2% 月
%date:~8,2% 日
echo %date:~0,4%
10:26:21.16
%time:~0,2% 时
%time:~3,2% 分
%time:~6,2% 秒
echo %time:~0,2%
26.set 赋值 %变量%取值
[–bat中
@echo off
set t=%date:~0,4%
echo %t%
pause
]
27.字符串操作
%time:~0,2% --字符串截取
替换
[–bat中 字符串替换
@echo off
set t=“siki学院牛!”
echo 替换前:%t%
echo 替换后:%t:牛!=超级牛逼%
pause
]
[–bat中 字符串替换
@echo off
set t=siki学院牛!
echo 替换前:%t%
echo 替换后:%t:牛=超级牛逼%
echo t =%t%
set t=%t:牛=超级牛逼%
echo t =%t%
pause
]
拼接
[–bat中 字符串拼接
@echo off
set t1=siki学院牛!
set t2=牛逼!
echo t1t2=%t1%%t2%
echo t1=%t1%
echo t2=%t2%
set t1=%t1%%t2% --拼接
echo t1=%t1%
pause
]
扩充 C:\Users\win10\Desktop\学习笔记.txt
~1 - 删除任何引号("),扩充 %1 --这个是数字1不是字母I
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 - 仅将 %1 扩充到一个路径
%~n1 - 仅将 %1 扩充到一个文件名
%~x1 - 仅将 %1 扩充到一个文件扩展名
%~s1 - 扩充的路径只含有短名
%~a1 - 将 %1 扩充到文件的文件属性
%~t1 - 将 %1 扩充到文件的日期/时间
%~z1 - 将 %1 扩充到文件的大小
%~
P
A
T
H
:
1
−
查
找
列
在
路
径
环
境
变
量
的
目
录
,
并
将
到
找
到
的
第
一
个
完
全
合
格
的
名
称
。
如
果
环
境
变
量
名
未
被
定
义
,
或
者
没
有
找
到
文
件
,
此
组
合
键
会
扩
充
到
空
字
符
串
可
以
组
合
修
饰
符
来
得
到
多
重
结
果
:
PATH:1 - 查找列在路径环境变量的目录,并将 %1 扩充 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串 可以组合修饰符来得到多重结果: %~dpI - 仅将 %1 扩充到一个驱动器号和路径 %~nxI - 仅将 %1 扩充到一个文件名和扩展名 %~fsI - 仅将 %1 扩充到一个带有短名的完整路径名 %~dp
PATH:1−查找列在路径环境变量的目录,并将 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串 可以组合修饰符来得到多重结果: PATH:1 - 查找列在路径环境变量的目录,并将 %1 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %1 扩充到类似输出线路的 DIR
echo %~nx1 (文件加扩展名)
echo %~pd1 (路径)
[–bat中 上面的符号是可以组合起来用
@echo off
echo %~nx1 --扩充到一个文件及扩展名
pause
]
[–cmd中调用
C:\Users\win10\Desktop>test C:\Users\win10\Desktop\学习笔记.txt
]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。