window(doc)系统的批处理脚本(.bat)学习

批处理(Batch),也称为批处理脚本.

       虽然自己在之前的项目中,自己写过一个开机延时运行某个脚本的功能,但那时没有系统的学习过,只是网络搜索解决方案,然后copy,整理,完成目的就没再去深入学习了。

      现在,新工作中似乎需要我经常进行脚本的编程,所以这里要系统地学习记录一下了。

学习方式依然是从实际应用出发,所以先复习下之前写的脚本程序:

@echo off    

start "C:\Widnows\System32\cmd.exe"

ping 127.0.0.1 -n 10 >nul

d:

cd nginx

nginx.exe

taskkill /f /im cmd.exe

exit

这个脚本写的很简单,没记错的话,这个脚本是不够完美的(cmd.exe窗口关闭失败),还有一个完美一点的版本,现在不在手上,就不贴了。

上面的代码,用到的知识点有,主要有:@echo off ;

详细解析可看:https://www.cnblogs.com/iTlijun/p/6137027.html

 

好,现在我先把这现在面对的脚本进行一下解析:

%1 start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
pnputil /add-driver driver\PGRUsb\*.inf /install
pnputil /add-driver driver\PGRUsb3\*.inf /install

解析:
::%*是表示命令行传过来的参数,%1表示第一个参数  
:://很多时候我们需要管理员权限来运行bat那么就需要结合vbscript来实现了
::下面是获取管理员权限的常用方式:与命令
::mshta vbscript:调用vbs脚本语言来执行        
     ::%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
     ::cd /d "%~dp0"
::下面可以写你的bat代码了 

::微软系统中默认提供的一些exe指令工具,在C:\Windows\System32目录下可以找到
::介绍链接:https://www.jianshu.com/p/c56588094dba
::其中pnputil 用来从 C:\Windows\System32\DriverStore\FileRepository 中删除驱动和预安装驱动
REM Microsoft PnP 工具
REM 用法:
REM ------
REM pnputil.exe [-f | -i] [ -? | -a | -d | -e ] <INF 名称> 
REM 示例:
REM pnputil.exe -a a:\usbcam\USBCAM.INF      -> 添加 USBCAM.INF 指定的程序包
REM pnputil.exe -a c:\drivers\*.inf          -> 添加 c:\drivers\ 中的所有程序包\
REM pnputil.exe -i -a a:\usbcam\USBCAM.INF   -> 添加和安装驱动程序包
REM pnputil.exe -e                           -> 枚举所有第三方程序包
REM pnputil.exe -d oem0.inf                  -> 删除程序包 oem0.inf
REM pnputil.exe -f -d oem0.inf               -> 强制删除程序包 oem0.inf
REM pnputil.exe -?                           -> 此用法屏幕
::(REM相当于::)
::   上面代码:pnputil /add-driver driver\PGRUsb\*.inf /install
::   相当于    pnputil -a driver\PGRUsb\*.inf -i


好,现在看动了吧,在脚本程序里,经常会使用到一个系统的API工具

像第一个例子的:taskkill,和第二个例子的:pnputil。在看脚本时,如果遇到不认识的指令,那么它们很可能是系统提供的API,所以面对它们,百度查一下就好了

 

 

补上一些参考链接,获取管理员权限的常用方法:https://www.jb51.net/article/67623.htm 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值