🐼常用的.bat批处理命令

    1. 调用文件或文件夹选择对话框
      <span style="font-family: AlibabaPuHuiTi;">::文件选择框
      <!-- : @echo off for /f "delims=" %%a in ('mshta "%~f0"') do echo;%%a pause&exit /b -->
       
      <input id="f" type="file" />
      <script>
      f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value);close();
      </script>
      
      ::文件夹选择框
      <!-- : @echo off for /f "delims=" %%a in ('mshta "%~f0"') do echo;%%a pause&exit /b -->
       
      <script>
      var Shell = new ActiveXObject("Shell.Application");
      var Folder = Shell.BrowseForFolder(0, "请选择文件夹", 0); //起始目录为:桌面
      if (Folder != null) {
          Folder = Folder.items();
          Folder = Folder.item();
          Folder = Folder.Path;
          new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder);
      }
      close();
      </script></span>
    2. 自动添加打印机
      <span style="font-family: AlibabaPuHuiTi;">::添加打印机驱动
      set PrinterDriver=\\驱动文件.inf的地址
      set PrinterDriverName=打印机驱动名
      set PrinterPortName=打印机端口名称
      set PrinterHostAddress=打印机IP地址
      set PrinterName=打印机展示名
      set batFile=C:\Users\Public\Documents\install.bat
      	
      ::输出安装打印机内容到临时脚本
      echo @echo off > %batFile%
      ::脚本提权,需要用管理员账号打开,企业内可用RunAsSpc提权安装
      echo %%1 mshta vbscript:CreateObject^(^"Shell.Application^"^).ShellExecute^(^"cmd.exe^",^"/c %%~s0 ^::^",^"^",^"runas^",1^)^(window.close^)^&^&exit >> %batFile%
      ::导入打印机驱动文件
      echo pnputil.exe -i -a ^"%PrinterDriver%^" >> %batFile%
      ::安装打印机驱动
      echo powershell -Command "& {Add-PrinterDriver -Name '%PrinterDriverName%'}" >> %batFile%
      ::设置端口
      echo powershell -Command "& {Add-PrinterPort -Name '%PrinterPortName%' -PrinterHostAddress '%PrinterHostAddress%'}" >> %batFile%
      ::设置打印机
      echo powershell -Command "& {Add-Printer -Name '%PrinterName%' -DriverName '%PrinterDriverName%' -PortName '%PrinterPortName%'}" >> %batFile%
      echo echo 打印机已安装完成 >> %batFile%
      ::删除临时脚本
      echo del %batFile%  >> %batFile%
      ::企业域控可用RunAsSpc提权安装
      %runas% /program:"%batFile%" /domain:%domain% /user:%user% /password:%pwd%
      </span>
    3. bat中想要输出特殊符号
      <span style="font-family: AlibabaPuHuiTi;">::输入两个%%符号就可以输出一个%
      set test=123
      echo %test%%%
      
      ::在<>&等符号前加“^”符号即可输出特殊符号
      echo #include ^<stdio.h^> >1.txt</span>
    4. 延迟执行指令
      ::利用ping延迟
      ping /n 秒数 127.1 >nul

 

🐼网络相关命令

命令格式 参数 说明
tracert [参数] <目标> -d 不将地址解析成主机名-h maximum_hops 搜索目标的最大跃点数
-j 与主机列表一起的松散源路由(仅适用于 IPv4)
-w <超时时间> 等待每个回复的超时时间(以毫秒为单位)
-R 跟踪往返行程路径(仅适用于 IPv6)
-S <源地址> 要使用的源地址(仅适用于 IPv6)
-4 强制使用 IPv4
-6 强制使用 IPv6
trace router的缩写
路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。
Tracert命令用IP生存时间(TTL)字段和ICMP错误消息
来确定从一个主机到网络上其他主机的路由。
ping [参数] <目标> -t 一直Ping指定的主机,直到手动停止
-a 将地址解析为主机名
-n <数量> 要发送的回显请求数
-l <大小> 发送缓冲区大小
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)
-i 生存时间
-v 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何影响)
-r <数量> 记录计数跃点的路由(仅适用于 IPv4)
-s <数量> 计数跃点的时间戳(仅适用于 IPv4)
-j 与主机列表一起使用的松散源路由(仅适用于 IPv4)
-k 与主机列表一起使用的严格源路由(仅适用于 IPv4)
-w <超时时间> 等待每次回复的超时时间(毫秒)
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。如果使用此标头,某些系统可能丢弃回显请求
-S <源地址> 要使用的源地址
-c 路由隔离舱标识符
-p Ping Hyper-V 网络虚拟化提供程序地址
-4 强制使用 IPv4。
-6 强制使用 IPv6。
因特网包探索器(Packet Internet Groper)是一种计算机网络管理应用,
该程序通常被用于确认因特网上的一台主机是否可达。
Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令,
其原理是向特定的目的主机发送ICMP(Internet Control Message Protocol因特网报文控制协议)
Echo回显请求(Echo Request)报文,
并根据回复的ICMP回显应答消息(Echo Reply),
测试目的站是否可达并获取连接的丢包率和平均往返时间等有关状态信息。
tpcing [参数] <目标> -4 优先使用 IPv4
-6 优先使用IPv6
-t 连续ping,使用Ctrl+C结束
-n <次数> 发送指定次数的ping后停止,默认为4
-i <秒数> 在每次ping之间间隔指定秒,默认为1秒,可以使用小数
-w <秒数> 等待指定秒收到回复,默认为2秒,允许使用小数
-d 在每一行输出中包含日期和时间
-f 除了连接之外,还强制发送至少一个字节
-g <次数> 在指定次ping失败后放弃
-b <模式1/2/3/4> 启用可听见的蜂鸣声:
“-b 1”会在关机时蜂鸣,如果主机是开着的,但现在没开,就蜂鸣;
“-b 2”会在开机时蜂鸣。如果主机是关着的,但现在开了,就蜂鸣;
“-b 3”会在变化时蜂鸣。如果主机原来是一种状态,但现在变成了另一种状态,就蜂鸣;
“-b 4”会一直蜂鸣
-c 只在状态改变时显示输出
-r <次数> 每多少次ping,将为主机执行新的DNS查找,以防其发生改变
-s 成功后立即退出
-v 显示版本信息
-j 计算抖动,抖动定义为上一次响应时间与历史平均值之差
-js <depth> 计算抖动,与-j类似,但带有可选的depth参数,
如果指定了depth,tcping将使用前面的depth值计算滚动平均值
--tee <文件路径> 将输出复制到指定的文件,Windows仍然不能依赖有用的命令行环境
--append 使用--tee时,将追加而不是覆盖输出文件
--file 将目标选项视为文件名,该文件成为目标的来源,按行循环,
某些选项在此模式下不起作用,并且不会保留统计信息目标;
DNS名称、IP 地址或(在“http”模式下)URL,
在 "http" 模式下不要指定协议(“http://”),
也不要使用 ":端口号" 语法指定服务器端口,
例如:“tcping http://www.elifulkerson.com:8080/index.html”会失败,
请使用这种样式:“tcping www.elifulkerson.com/index.html 8080”;
TCP端口“1-65535”,如果未指定默认为80

--header 包含命令行参数和时间戳的标题,如果使用--tee,则包含标题HTTP模式:
-h 使用“http”模式,在 http 模式下,将尝试获取指定的文档,
并返回包括文档大小、http响应代码、kbit/s等附加值
-u 在"http"模式下,在每行输出中包含目标URL
--post 在http模式下使用POST而不是GET
--head 在http模式下使用HEAD而不是GET
--get 为了保持一致,使用缩写调用“http”模式
--proxy-server <代理服务器地址> 使用代理服务器
--proxy-port [端口号]指定代理服务器的TCP端口,默认为3128
--proxy-credentials <账号:密码> 指定发送为“Proxy-Authorization: Basic”
标头的username:password返回值:
如果所有ping均成功,tcping返回“0”;
如果没有ping成功则返回“1”;
如果混合结果则返回“2”
tcping 是一个网络诊断工具,主要用于测试TCP端口的可达性和连接建立时间,
相较于传统的ping命令(基于Internet Control Message Protocol, ICMP),
tcping 更侧重于检查传输层(TCP)的服务状态,而非网络层(IP)的连通性。
tcping非Windows自带命令,需要安装Tcping
,将Tcping下载后放到“C:\WINDOWS\system32”即可

 

🐼AD域相关命令

命令格式 参数 说明
dsquery <查询类型> [参数] computer [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的计算机,
或指定目录,“OU=Users,DC=example,DC=com”
contact [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的联系人,
或指定目录,“OU=Users,DC=example,DC=com”
subnet [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的子网,
或指定目录,“OU=Users,DC=example,DC=com”
group [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的组,
或指定目录,“OU=Users,DC=example,DC=com”
ou [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的组织单位,
或指定目录,“OU=Users,DC=example,DC=com”
site [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的站点,
或指定目录,“OU=Users,DC=example,DC=com”
server [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的 AD DC/LDS 实例,
或指定目录,“OU=Users,DC=example,DC=com”
user [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的用户,
或指定目录,“OU=Users,DC=example,DC=com”
quota [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的配额规定,
或指定目录,“OU=Users,DC=example,DC=com”
partition [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 查找所有目录中的分区,
或指定目录,“OU=Users,DC=example,DC=com”
* [OU=<StartNode> | DC=<forestroot> | DC=<domainroot>] 用通用的 LDAP 查询来查找所有目录中的任何对象,
或指定目录,“OU=Users,DC=example,DC=com”
-o {dn | rdn| upd | samid} 指定输出格式
dn:输出对象的完整路径(Distinguished Name)
rdn:输出对象的相对路径(Relative Distinguished Name)
upn:输出对象的用户主体名称(User Principal Name)
samid:输出对象的SAM账户名称(Security Account Manager Account Name)
-name <展示名称> 根据名称查询对象,与筛选器给出的名称相同
-samid <用户登录名> 根据SAM账户名称查询对象,对应用户的”用户登录名“
-scope 查询的范围,默认为subtree,可选值包括:
subtree:在指定的基准位置下搜索整个子树,包括基准位置的所有子对象和后代对象;
onelevel:在指定的基准位置下搜索一级子对象,但不包括后代对象;
base:仅在指定的基准位置搜索,不包括子对象或后代对象。
-limit <结果数> 查询结果的限制数目
-desc <描述> 查找指定描述的用户
-gc: 在 Active Directory 域服务全局编录中查询
-disabled [-s | -d ] 查找帐户被禁用的用户
-s 用名称 连接到 AD DC/LDS 实例
-d 连接到域 中的 AD DC, 默认: 登录域中的 AD DC。
-stalepwd <天数> 查找至少指定天没有更改密码的用户
-inactive <周数> 查找指定周数内未活动(未登录)的用户
-upn 查找其 UPN 与筛选器的给定 匹配的用户
-s 指定要查询的AD服务器
-q 安静模式,将所有输出抑制为标准输出
-u <登录用户名> 使用指定用户权限查询
-p <用户密码> 用户的密码
在Windows Server Active Directory环境中,
你可以通过命令dsquery来查询域控制器上的组织单元(OU)、
用户以及用户组的相关信息。

 

🐼mklink:创建符号链接(CMD)

链接类型 参数 文件类型 文件路径 空间占用 可链接类型 本质 Windows下是否可跨磁盘 询问方式 源文件与链接文件关联关系 例子
符号链接
(软链接)
/d .symlinkd 相对路径/绝对路径 不占空间 只能是目录 相当于只是对源目录进行了引用
可以理解为:只有使用权,没有所有权,可以当作快捷方式
可以跨本地磁盘,
也可以跨网络磁盘(共享目录)
本地访问:通过链接目录所在磁盘路径访问
网络访问:通过tomcat可实现
源目录移动、重命名或删除后,链接目录无效;
链接目录删除,源目录不受影响;
源目录里面的文件发生变化时(新增、修改、删除),
链接目录里面的文件同步发生变化,反之,同样成立
在D盘根目录下创建一个名为MyFolder的目录符号链接,
指向C盘根目录下的MyDocuments目录,可用以下命令:
mklink /D "D:\MyFolder" "C:\Users\UserName\MyDocuments"
目录联接
(软链接)
/j .junction 只能是绝对路径 不占空间 只能是目录 同上,联接点 只能跨本地磁盘 同上 同上但是,创建的链接文件夹移动后,
使用相对路径的符号链接会失效,使用绝对路径的连接点链接仍有效
在D盘根目录下创建一个名为MyFolder的目录联接,
指向C盘根目录下的MyDocuments目录,用以下命令:
mklink /J "D:\MyFolder" "C:\Users\UserName\MyDocuments"
硬链接 /h .源文件类型 只能是绝对路径 占用空间和源文件一样 只能是文件 相当于对源文件进行拷贝备份,
可以理解为:执行了复制和粘贴的操作
都不可以 本地访问:通过链接文件所在磁盘路径访问
网络访问:通过tomcat可实现
源文件删除后,链接文件无效;
链接文件删除,源文件不受影响;
只有将源文件和链接文件全部删除时,才会将文件真正的删除;
当源文件内容发生变化时(修改),链接文件同步发生修改
反之,同样成立
在D盘根目录下创建一个名为MyFile的硬链接,
指向C盘根目录下的MyFile.txt文件,可用以下命令:
mklink /H "D:\MyFile" "C:\MyFile.txt"
快捷方式 无参数 .lnk 只能是绝对路径 文件大小仅有几百字节Byte,
与原文件大小无关
文件和目录均可 / 只能跨本地磁盘 本地访问:自动跳转到文件、目录的所在磁盘路径访问
网络访问:无法通过网络访问到该快捷方式所对应的实际文件
源文件删除,快捷方式失效;快捷方式删除,源文件不受影响;
只是创建了一个快捷方式
创建D盘123.txt文件的快捷方式
并把快捷方式放到C盘命名为456.txt,可用以下命令:
mklink "D:\123.txt" "C:\456.txt"

 

🐼静默安装exe

参数 说明 例子
/s 静默 静默安装在默认位置:
test.exe /s
/b 安装位置 指定路径静默安装:
test.exe /s /b"C:\test /v"/qn"
/x 传参 /
/v 传参 /
/qn 禁止GUI输出 静默安装禁止任何GUI输出:
test.exe /s /v"/qn"
/qb 显示基本安装过程 静默安装显示基本安装过程:
test.exe /s /v"/qb"