常用cmd及bat脚本命令
1.内部命令和外部命令
cmd 命令 :内部命令和外部命令
内部命令 系统自带命令
dir
copy
外部命令 调用应用程序,可自由拓展
mstsc.exe(mstsc)远程连接
ping (ping.exe) 测试网络连通性
python 调用python程序
wget 下载工具,需从网上下载 wget for windows 复制到 windows 下面的system32 目录下,并修改系统变量才可以使用
2.cmd 基本命令
cd (切换目录)
cd /? 查看帮助文档
cd c:desktop 切换到桌面
cd .. 返回上一级目录
cd . 显示当前目录
cd / 切换到c 盘根目录
cd 盘符:\位置(名称) 切换指定位置目录
dir (查看目录)
dir /? 查看帮助文档
dir /a 显示所有
dir /s 显示指定目录及子目录所有的文件
dir /b 只显示概要不显示具体信息
dir /ah 显示隐藏文件
dir /as 显示系统文件
dir /ar 显示只读文件
dir 盘符:\位置(名称) 显示指定位置目录
md (创建目录)
md 盘符:\位置(名称)
copy (浅拷贝)
copy 源文件路径 文件目的路径
xcopy (深拷贝)
xcopy 源文件路径 文件目的路径 /e 拷贝文件和文件夹(不加参数只拷贝文件,等于copy)
rename或ren (重命名)
rename 原文件名 目标文件名
del (删除文件、目录)
del 文件路径(文件名)
replace (替换文件)
replace /a 替换到目标目录不做更改 ,相当于复制
replace /s 替换文件的同时替换了内容
type (打印文件内容)
type 文件
自定义cmd界面
title 改变窗口标题
mode con cols=宽 lines=长 改变窗口大小
color 背景色编号 字体色编号 改变外观
set (定义变量)
set /? 查看帮助文档
set 查看系统所有变量
set name=xxx 定义变量
set name 查看定义的变量
set name= 废弃变量
set /a 算术运算
set /a var=n/m 定义变量
set /p 键盘输入,实现人机交互
setx (设置永久变量)
set PATH %path%; 路径
echo (打印)
echo 内容 打印指定内容
echo %var% 打印变量的值
cls (清屏操作)
rem (注释)
3.特殊字符
| 管道命令符 把管道符前面执行的结果作为管道符后面的参数来使用
|| 组合命令 || 前面与后面的命令满足其一即可当作执行成功
& 组合命令 当& 前面的命令执行失败了,后面的命令依然执行
&& 组合命令 执行可执行部分,不可执行则报错
( 命令1 & 命令2 & 命令3 ... (无论前面命令是否故障,照样执行后面)
命令1 && 命令2 && 命令3....(仅当前面命令成功时,才执行后面)
命令1 || 命令2 || 命令3.... (仅当前面命令失败时.才执行后面))
errorlevel 返回错误码 判断上级命令是否执行
echo %errorlevel% 打印出上一条命令执行失败返回的错误码
echo %errorlevel% 0 代表执行成功
echo %errorlevel% 9009 代表执行失败
4.通配符
? 代表单个字符
* 代表全部字符
5.if 判断
if /? 查看帮助文档
if exist 对象 执行动作 else 执行动作
if not exist 对象 执行动作 else 执行动作
if exist 盘符:\目录\文件 执行动作 else 执行动作 判断某个盘下是否存在某个文件
if /i 字符串==字符串 执行动作 else 执行动作 比较字符串时忽略大小写区别
6.for 循环
for /? 查看帮助文档
for %variable in (set ) do command [command-parameters] 其中set 可以为数字或字母,字符间用空格分隔
for /l %variable in (start,step,end) do command [command-parameters] 相当于range,指定参数的范围
for /d %variable in (*/???/????) do command [command-parameters] 指定的目录匹配,但不匹配子目录和文件
for 盘符\路径or null /r %variable in (*/???/????) do command [command-parameters] 匹配某个盘下面的指定目录或当前路径的文件
for /f [ options] %variable in (fileset) do command [command-parameters] 对指定文件进行操作
for /f 的解析详情 https://www.cnblogs.com/hinata-sen/p/7443007.html
(
对于/f options中的参数
delims代表分隔符集,"delims=" 忽略空格照常操作,"delims= "则是遇到空格就停止操作。默认以空格和Tab为分隔,用来分列。
skip代表跳行, skip=1指跳过第一行
tokens代表列,tokens=1,2, 指第一和第二列),如果需要将指定的两列打印或执行其他操作,do后面需要%variable和与%variable相邻的字母来接收返回的结果(如%a 和%b、%i和%j,而%a和%j不行)
eol=x代表忽略以x开头的行,相当于python字符串的startswith
usebackp 反执行,会将双引号里面的内容当作是文件,把单引号里面的内容当作命令(可忽略)
)
for /f %variable in (fileset) echo %variable 如果遇到空格,默认只打印空格之前的内容
for /f "delims=" %variable in (fileset) echo %variable 不管遇没到遇到空格,都打印全部内容
for /f "tokens=2-3/2,3 delims= " %variable in (fileset) echo %variable1 %variable2 打印第二列和第三列(delims以空格将文件的内容进行分隔,tokens拿分隔后的第二列和第三列,但%variable只能接受返回的第二列的结果,需要拿一个与%variable相邻的字母接收第三列的结果)
for /f "tokens=2,* delims= " %variable in (d:\out.txt) do echo %variable1 %variable2 打印第二列和第二列之后的所有列(其中variable1接收第二列的结果,variable2接受剩下列的结果)
7.文件重定向
> 覆盖之前写入的内容
>> 不会覆盖之前写入的内容,只会在之前的内容后面写入
< 从文件读取内容打印到屏幕
[command] 1>right.txt >2error.txt 捕捉错误到指定文件,会在指定路径生成两个文件,如果正确两个文件都不会有内容,如果错误第二个文件有错误提示
8.ping 命令
一台主机通过发送icmp报文到另外一台主机,如果另外一台主机收到之后就会回复源主机一个icmp报文,然后可根据报文回复时间来判断连通性和网络情况
-t 不停发数据包
-n 指定数据包数量
-l 指定数据包大小(字节)
-a 通过IP查看主机名
-w 设置超时时间
9.telnet 命令
查看某个端口是否可访问,前提是目标主机在控制面版的启用或关闭windows功能中开启改服务
telent ip地址/域名 端口号
10.netstat 命令
查看网络连接,包括tcp、udp等
-a 显示所有连接和侦听端口
-n 以数字的形式显示地址和端口号
-o 查看拥有的与每个连接关联的进程ID
netstat -ano |findstr 进程id 用于过滤出相关的连接信息
tasklist 列举任务进程
taskkill 杀死任务进程
taskkill /im 进程名 /f 强制杀死进程
taskmgr 打开任务管理器
11.net user 命令
lusrmgr.msc 打开本地计算机用户和组
net user (用户名) 查看本地用户,加用户名查看指定用户,不加显示全部
net user 用户名 密码 /add 添加用户
net user 用户名 /active:yes or no 是否激活启用用户
net user 用户名 /del 删除用户
net localgroup administrators 用户名 /add 将用户加入到管理员组
net localgroup administrators 用户名 /del 将用户移出管理员组
12.net share 命令
net share 查看共享
net share 共享盘名=盘符:\ 共享某个盘
net share 共享盘名 /del 删除共享盘
net view \\主机名 查看特定主机的共享 (主机名用hostname 命令查看)
services.msc 查看本机的服务
net start 服务名 开启某服务 (服务名要加双引号)
net stop 服务名 关闭某服务 (服务名要加双引号)
13.netsh 命令及应用
以命令行的网络配置工具,可修改ip ,gateway ,dns
netsh dump 查看网络配置信息
int ip 进入配置IP的命令行
set address name=本地网络连接名(网卡名) source=static addr=xxx.xxx.xxx.xxx mask=xxx.xxx.xxx.xxx 设置静态IP
set address name=本地网络连接名(网卡名) source=dhcp 设置动态获取IP
set address name=本地网络连接名(网卡名) gateway=xxx.xxx.xxx.xxx gwmetric=1 设置网关和 默认网关的跃点数
netsh 应用
修复网络故障
netsh winsock reset 通过重置winsock目录来重新初始化网络环境(winsock是位于应用层的协议),有效解决因为软件冲突和病毒原因造成的参数错误问题
net int ip reset c:\resetlog.txt 卸载重安装tcp/ip协议,使其恢复到初始化时的状态
获取本地wifi密码
netsh wlan show profiles 查看当前系统已经保存的网络
netsh wlan show profiles name=wifi名称 key=clear 查看指定wifi密码
打开/关闭防火墙
firewall.cpl 查看防火墙状态
netsh firewall set opmode mode=enable 打开防火墙
netsh firewall set opmode mode=disable 关闭防火墙
防止arp 欺骗
netsh i i show in找到指定Idx
netsh -c "i i" add neighbors 【Idx】 【IP地址】【mac地址】修改指定IP的mac
14.ipconfig
/?查看帮助文档
/all 查看所有网络连接情况
/release 释放ip (只能用于dhcp网卡)
/renew 重新获取ip (与/release 结合使用)
/flushdns 刷新dns
15.attrib
设置文件属性
type nul > filename 创建空文件
attrib filename 查看文件属性
attirb +参数 filename 设置文件的属性
attirb -参数 filename 清除文件的属性
参数 (可以添加/减少多个属性)
a 存档属性
r 只读属性
h 隐藏属性
s 系统文件属性
批处理开始
16.goto
goto part1 前往执行part1
exit 退出脚本
17.call
call 文件 调用程序 (相互调用的程序必须在同一目录或指定程序文件路径)
18.sort
sort 文件 对指定文件进行默认排序
sort /+n 文件 对指定文件进行从第n 个字符进行排序
sort /r 文件 对指定文件进行倒序排序
sort 文件 /o 文件路径+文件名 将文件重定向到指定路径和文件名
19. 网络故障排查
ping 127.0.0.1 查看本机TCP/IP协议是否正常
ping 网关 查看本机与网关通信是否正常
ping 百度 查看本机是否能够上网
20.磁盘
compmgmt.msc 打开磁盘管理界面
convert 改变文件系统(只能实现从性能低到性能高的转变,如fat到ntfs)
convert 盘符 /fs:文件系统 指定将某盘符的文件系统转化为指定的文件系统
diskpart 分区
diskpart 进入对应交互模式
list disk 列出磁盘数量
select disk 1 选择磁盘1
clean 格式化磁盘
create partition primary 创建主分区
format fs=ntfs quick lable="E:" 格式化磁盘文件系统为ntfs并且快速执行格式化,最后赋予e盘符
磁盘修复
chkdsk 修复因系统崩溃或意外关机引起的磁盘错误,不指定盘符则对全盘检索
chkdsk 指定盘符 /f 修复指定磁盘上的错误
chkdsk 指定盘符 /r 查找指定磁盘上的坏扇区并恢复可读信息
文件系统
windows :ntfs/fat/extfat
区别:单个文件最大限制,最大文件数量,分区最大容量
23sfc.系统修复
用于系统文件错误引起的系统故障修复
sfc /? 查看帮助文档
/scannow 扫描整个系统并尽可能修复
/verifyonly=文件路径 只扫描不修复,不指定某个文件则对整个系统进行操作
/scanfile=文件路径 扫描并修复指定文件
24.查看系统信息,激活操作系统
winver 查看系统信息
slmgr /dli 查看激活信息
slmgr /xpr 查看激活信息
slmgr /upk 卸载产品密钥
slmgr /ipk 指定密钥 安装产品密钥
slmgr /skms zh.us.to xxx 设置密钥管理服务计算机名
slmgr /ato 成功激活产品
25.注册表
26.start
在命令行打开一个程序,如盘符,文件,目录,网址,应用程序等(如果路径中包含空格,需要给路径添加一个双引号)
27.网络提速
组策略调整
1.打开管理模板--网络--Qos 数据包计划程序--限制可保留网络带宽--启用--调整为10%--完成(具体看效果)
2.刷新dns缓存 如果打开网页卡顿,页面解析缓慢,可通过命令行ipconfig /flushdns 刷新dns缓存来加快解析速度(有待验证)
3.设置tcp属性 命令行中输入netsh interface tcp show global 来查看tcp连接情况,如果接收窗口自动调节不是为normal状态,可通过命令行输入netsh interface tcp set global autotuninglevel=normal 来设置为正常状态(原理为接收窗口大小影响网络速度)
28.设置变量接收键盘输入,实现切换IP列表
@echo off
set /p var=请输入IP地址:
ping -n 4 %var%
pause >nul
29.批量找出特定后缀名的文件
for /r 目录路径 %i in (*.txt) do echo %i
30.死循环
%0 在执行操作后面加上%0代表死循环
31.隐藏文件或分区
attrib +h 文件 隐藏文件
diskpart --list disk--select disk (number)--detail disk --select partition (number) --detail partition--set id=12(隐藏)--set id=07(取消隐藏) 要选择磁盘号和分区号才能查看磁盘和分区的detail,而且查看选定的磁盘和分区不需要加磁盘号和分区号,只需要detail disk 或detail partition
32.临时提升管理员权限
runas /noprofile /user:hostname\administrator cmd 不加载主机名为hostname 的用户配置信息,以超级管理员的身份打开cmd 窗口
runas /user:hostname\administrator /sa “路径+程序” 以超级管理员的身份运行某个程序
33.IPC$
IPC$是共享命名管道的资源, 利用IPC$连接,连接着可以与目标主机建立空的连接而无需用户名与密码(前提是对方开启了IPC$共享)
相互命令
net use \\IP\ipc$ "" /user:"" 建立空连接
net use \\IP\ipc$ “用户名” /user:"密码" 建立非空连接
net use z: \\IP\c$ “密码”/user:"用户名" 映射默认共享,将对方的c盘映射给自己的z盘
net use \\IP\ipc$ /del 删除一个ipc$连接
net use c: /del 删除映射的c盘
34.死亡之ping
ping -l 65500 目标地址 -t 给目标主机不停地发65500个字节的数据包
35.bat 转exe
bat to exe convertor 利用工具
winrar 压缩时添加exe后缀名,并打开高级解压,指定解压路径,解压时自动运行bat 文件
补充:
系统开机自启动路径
WIN10
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
WIN7
%USERPROFILE%\ [开始] 菜单 \程序\启动\
蓝屏炸弹
ntsd -c q -pn winlogon.exe
扰乱文件系统
assoc .exe=txtfile(assco .exe=exefile取消)
命令行窗口调整
mode con cols=30(长) lines=10(宽)
``
常用cmd及bat脚本命令的更多相关文章
- windows 服务的安装与卸载之bat脚本命令
在windows 平台下,服务的安装与卸载可通过bat 脚本命令来完成,同时可编辑服务的描述,具体代码如下: 1.服务的安装DynamicPlanService_installer.bat: @ech ...
- cmd与bat脚本的使用
零. bat cmd 命令大全 bat命令大全学习 一..定位到当前路径 1.定位到当前路径 2.方法二 3.win10下面 通解: %windir%\system32\cmd.exe 二 .使用命令 ...
- Redis windows版本的启停bat脚本命令
Reids windows版本安装 redis windows官网推荐:https://github.com/MicrosoftArchive/redis/releases 下载解压即可. 启停bat ...
- bat脚本命令
注:本文转载地址 http://www.cnblogs.com/yefengmeander/archive/2011/12/01/2887978.html 1.Echo 命令 打开回显或关闭请求回显 ...
- Bat脚本命令说明
命名参考 使用方式如果不知道如何使用就到cmd窗口键入help 命名名 例如:"help del" 命令名 注释 ASSOC 显示或修改文件扩展名关联. ATTRIB 显示或更改文 ...
- 使用 windows bat 脚本命令一键实现快速配置JDK 环境变量
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe"," ...
- 使用 windows bat 脚本命令 一键启动MySQL服务
@echo off rem Copyright (c) 2019 Moses and/or its affiliates. rem Get Administrator Rights >nul 2 ...
- bat脚本命令循环运行程序 ,然后指定时间退出。
@echo offtitle EcCheck // 显示标题:loopif "%time%" GTR "23:00.00" (exit) else goto t ...
- cmd命令,bat脚本
1.cd /d D:\>cd mysql D:\mysql>cd /d C:/TEMP C:\Temp>cd /? 显示当前目录名或改变当前目录. CHDIR [/D] [drive ...
随机推荐
- python编程思想及对象与类
目录 编程思想 面向对象 面向过程 对象与类的概念 对象与类的创建 对象的实例化方法-独有数据 编程思想 1.面向对象 1.1. 面向对象前戏 案例:人狗大战 # 需求:人狗大战# 1.'创造'出人和 ...
- reactjs中使用threejs从0到1
搭建本地开发环境 安装nodejs 按照 Create React App 安装指南创建一个新的项目 npx create-react-app react-three-demo 删除掉新项目中 src ...
- JVM学习之 内存结构
目录 一.引言 1.什么是JVM? 2.学习JVM有什么用 3.常见的JVM 4.学习路线 二.内存结构 1. 程序计数器 1.1 定义 1.2作用 2. 虚拟机栈 2.1定义 2.2栈内存溢出 2. ...
- Spring的Model 和 Map的原理
Model 和 Map 为什么在Model和Map中放值传入后会出现在request的上面. 9.1.源码解析 准备测试代码 @GetMapping("/goto") public ...
- 节后复工,Apache DolphinScheduler喜迎7位新Committer
Apache DolphinScheduler(Incubating)社区在节后上周第一周就迎来了好消息,经过 Apache DolphinScheduler PPMC 们的推荐和投票,我们高兴的宣布 ...
- 开源深度思考 - In Community We Trust
作者 | 黄东旭,PingCAP 联合创始人&CTO 出品 | CSDN(ID:CSDNnews) 业界一直流传着黄东旭的传说:小学三年级开始写代码,四五年级学习C语言,初中毕业时,已经能够用 ...
- 用VS Code搞Qt6:编译附加模块
上一次水文中,老周所介绍的是编译 Qt 的基础模块-- qtbase.一次性编译所有代码可以一劳永逸,但体积相当大,编译时间较长,CPU负载大发热大,风扇转得猛,电费交得多.因此老周更喜欢分开来编译. ...
- python推导式与海象运算符
背景:介绍两种python用于语句优化的用法 一.推导式 1.推导式简介: Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体. 支持:列表(list).元 ...
- C# 创建标签PDF文件
Q1:关于"标签PDF文件(Tagged PDF)" 标签PDF文件包含描述文档结构和各种文档元素顺序的元数据,是一种包含后端提供的可访问标记,管理阅读顺序和文档内容表示的逻辑结构 ...
- 【Go实战基础】GO语言是什么,有哪些优势
一.简介 2007年,为了提高在多核.网络机器(networked machines).大型代码库(codebases)的业务场景下的开发效率,Google 首席软件工程师决定创造一种语言那就是 Go ...