欢迎光临散文网 会员登陆 & 注册

windows命令行与批处理基础

2023-02-18 18:39 作者:67here  | 我要投稿

这篇是笔记,并不是up视频的单纯板书。

一、命令行

1)cmd和powershell


00:42


小寄巧:

0.命令不区分大小写

1.按上下键可快速输入历史命令

2.Tab键电脑自动猜测补全

3.在一个命令后加上 /? 电脑将解释该命令的详细展开用法(中括号代指选填参数,可不填),下文命令扩展用法可用此法学习。

4.显示中文汉字需要更改为gbk编码即可

5.rem代表注释

2)cmd基本命令


04:44


1.echo 显示:echo hello,world !!!

2.pause 时停 (可用于在批处理最后加上,让窗口不至于快速消失)

3.cls 清屏

4.type 显示文件内容

5.find 查找并输出字符串所在行内容

6.fc 寻找并输出两文件不同之处所在的上下三行内容

7.time/date 显示当前时间或修改时间(课代表个人补充:管理员权限执行,可快速修改右下角系统时间)

8.ping 测试本机与某某链接是否畅通

9.ipconfig 本地网络配置信息(课代表个人补充:家庭环境中,查看默认网关和ipv4,即可知道本机所连的上一级的路由器地址和本机在局域网中的位置)

10.set /a 算术运算

11.shutdown 关机,可自定义各种关机的方式

3)特殊符号

3.1多命令


14:38


  1. & 顺序执行,忽略错误。
  2. && 顺序执行,执行错误命令后语句结束。
  3. || 顺序执行,执行正确命令后语句结束。

3.2重定向


17:23


  1. > 将结果覆盖进某文件中
  2. >> 将结果追加进某文件中
  3. < 将文件内容输入给命令

3.3管道


20:08


  1. | 前命令的输出作为后命令的输入,可连续使用

4)文件操作


21:19


  1. dir 显示当前所处文件夹下的内容
  2. tree 显示文件夹树形结构,如何显示需自行选择
  3. 盘符: 跳转进指定磁盘
  4. cd 切换目录
  5. mkdir/md 创建目录 (课代表补充:可以创建一长串原先不存在的父子文件夹,所以叫创建目录)
  6. rmdir/rd 删除目录
  7. del 删除文件
  8. rename/ren 重命名
  9. cpoy 复制文件
  10. move 移动文件

二、批处理

1)小提示


29:05


1.多命令在一个文件中执行 后缀.bat

2.@echo off 运行时不显示命令行本身(在批处理的最后搭配上pause > nul 即可做到保留窗口的同时消除“请按任意键继续...”的提示)

3.双击或者cmd中运行

2)变量


32:31


1.set abc=123 定义变量

2.set /a abc=1+2*2 表达式定义变量

3.set /p abc=请输入xx 让用户输入定义变量值

4.echo %abc% 输出变量值

5.set abc 打印变量

6.set 列出本机当前所有定义变量

7.set abc= 删除该变量

3)预定义变量


38:20


1.%cd% 显示当前所在目录

2.%date%/%time% 显示当前日期/时间

3.%random% 生成0-32767之间的随机数

4.%path% 环境变量

5.%errorlevel% 返回上个命令的返回值,成功通常为0

6.%1 %2 ...(我个人理解:执行批处理前的预先输入参数,%0指的是批处理文件本身的路径名。)

4)调用


42:45


call 可执行文件(exe和bat均可)

5)if条件


44:36


1.可单行完成,我个人记法,多行时,记住 让左括号的右边是段落结束,右括号的左边是段落开始。

2.if语句只有四个功能

2.1 比较上个指令的返回值 errorlevel 数值 返回值大于等于填写数值 则为true

2.2 比较两个字符串 字符串1==字符串2 相同则为true

2.3 查看文件是否存在 exist 文件名 存在则为true

2.4 比大小 [/i] 变量1 比较命令 变量2

等于 equ

不等于 neq

小于 lss

小于等于 leq

大于 gtr

大于等于 geq

6)跳转


52:33


goto line1

:line1 代码

7)for循环


53:28


for %%i in(set) do()

1.这个i只能是单个字母

2.支持通配符比如 in(*.*) 则遍历当前文件夹内的文件名

3.只遍历文件夹 for后跟/d

4.遍历全部文件 后跟/r [目录]

5.目录树 后跟/r [目录] in(.)

6.遍历数字序列 for /l %%i in (start,step,end) do

7.遍历文件内容 for /f %%i in(文件) i指每一行


结束: 小试身手

1)将所有文件分别命名为从1到100


01:01:11


2)批处理中for循环的自增减问题


01:05:35


解释原因:在for中,%n%是被整个替换成一个固定量来看待的,不会更新,故即使n的值确实在增加,但是%n%在for运行结束前始终是不变的状态。

解决方法:增加一行

setlocal enabledelayedexpansion

启动变量延迟,并将%n% 替换成 !n! ,告知解释器这个变量是会随时变化的,操作它前要看看它有没有变化!


断断续续看了两天,最后感谢up主,让我对cmd命令有了更清楚的认识。

windows命令行与批处理基础的评论 (共 条)

分享到微博请遵守国家法律