Windows命令提示符中的常用命令
1、cmd命令行编码修改UTF-8
Win10 修改cmd命令行窗口UTF-8编码,进入cmd窗口后,直接执行“
chcp 65001
Active code page: 65001 看到这个说明激活了。
但是这个是临时的,重启之后失效。永久修改必须修改注册表。
在运行中输入"regedit",找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
然后“右键-新建”,选择“字符串值”,“名称”列填写“autorun”, 数值数据填写“chcp65001”
详细设置可以参考下面的连接:
https://blog.csdn.net/tfs411082561/article/details/78416569
2、复制命令copy
命令格式
copy 源文件 目标文件
中间用空格隔开
注意:如果路径中有中文,必须用双引号把中文路径括起来。
命令帮助
C:\Users\Anita\Desktop>copy /?
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,
尽可能使用短文件名。
/Y 不使用确认是否要覆盖现有目标文件
的提示。
/-Y 使用确认是否要覆盖现有目标文件
的提示。
/Z 用可重新启动模式复制已联网的文件。
/L 如果源是符号链接,请将链接复制
到目标而不是源链接指向的实际文件。
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批处理脚本中执行的,默认值应为
在覆盖时进行提示。
要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。
各种实例
英文路径实例
copy E:\202106271237.mp4 C:\Users\Anita\Desktop\202106271237.mp4
已复制 1 个文件。
copy E:\202106271237.mp4 C:\Users\Anita\Desktop\202106271237.mp4
覆盖 C:\Users\Anita\Desktop\202106271237.mp4 吗? (Yes/No/All): n
如果是直接覆盖,并且不想让系统提示你,可以使用
copy /y E:\202106271237.mp4 C:\Users\Anita\Desktop\202106271237.mp4
中文路径实例
这是我玩LOL的一个视频,因为是中文路径,所以必须用双引号括起来
copy "E:\用霞五杀.mp4" "C:\Users\Anita\Desktop\用霞五杀.mp4"
已复制 1 个文件。
3、剪切命令move
移动文件并重命名文件和目录。
命令格式
move 源文件 目标文件
命令帮助
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定你想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,你还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。
/Y 取消确认覆盖一个现有目标文件的提示。
/-Y 对确认覆盖一个现有目标文件发出提示。
命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内
执行的,覆盖时都发出提示。
清空剪切板
dir | clip
4、重定向
ping www.baidu.com >>d:\pingbaidu.txt
注意:一个大于号是覆盖,两个大于号是追加。
打开d:\pingbaidu.txt,我们可以看到:
正在 Ping www.a.shifen.com [180.101.49.11] 具有 32 字节的数据:
来自 180.101.49.11 的回复: 字节=32 时间=6ms TTL=54
来自 180.101.49.11 的回复: 字节=32 时间=5ms TTL=54
来自 180.101.49.11 的回复: 字节=32 时间=5ms TTL=54
来自 180.101.49.11 的回复: 字节=32 时间=5ms TTL=54
180.101.49.11 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 5ms,最长 = 6ms,平均 = 5ms
5、运行命令start
会调用浏览器打开baidu的网页。
start http://www.baidu.com
start也可以打开程序,例如打开微信
start C:\"Program Files (x86)"\Tencent\WeChat\WeChat.exe
注意:如果路径中还有空格,则需要将有空格的部分括住。如果路径中有中文,则需要从头到尾用双引号括住。
6、调用命令call
用来调用其他程序
@echo off
call demo.bat
pause
注意:调用的时候是默认寻找当前目录下的程序,如果调用的程序是在其他路径则需要写入的绝对路径。
7、变量set
C:\Users\Anita>set name=pokes //定义变量
C:\Users\Anita>set name //打印变量
name=pokes
C:\Users\Anita>set name= //删除变量
C:\Users\Anita>set name
环境变量 name 没有定义
::变量的调用
C:\Users\Anita>set name=pokes
C:\Users\Anita>echo name
name
C:\Users\Anita>echo %name% //用两个%包裹变量的名称
pokes
C:\Users\Anita>
运算
C:\Users\Anita>set /a 4*5 //其中/a是算数运算
20
C:\Users\Anita>
简单-a的实例
@echo off
set /a var=4*5
echo %var%
pause>nul
简单-p的实例
实现交互式
@echo off
set /p var=请输入您的数字:
echo %var%
pause>nul