Windows 命令行

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
]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值