前文讲了批处理的一些常用命令,没看过的可以微信公众号历史消息里查看,废话不多说,开始实战:
目录:
一:百度关键字搜索
二:不显示系统文件拓展名
三:定时关机
四:每隔2秒新建一个txt文件,文件名由1~10
五:删除历史记录
六:显示自己IP
七:全盘禁止运行病毒程序或者流氓软件
八:隐藏运行
九:选择功能的实现
十:随机数
一:百度关键字搜索
@echo off
set a=
set/p a=请输入关键字……
start http://www.baidu.com/s?wd=%a%
说的这么高大上,其实就说设置了变量a,控制台输入的关键字赋值,然后用百度链接传值,调用系统默认浏览器,有用的就最后一行代码,start的使用。
二:不显示系统文件拓展名
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 00000001 /f
这是显示拓展名:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 00000000 /f
就是对注册表的操作,相应的值可以具体百度搜索,reg
同理:不显示隐藏文件:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t reg_dword /d 00000000 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 00000001 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowSuperHidden /t reg_dword /d 00000000 /f
这是显示隐藏文件:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v Hidden /t reg_dword /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 0 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowSuperHidden /t reg_dword /d 1 /f
三:定时关机
set times=
set /p times= 请输入关机时间:
:: 以下语句实现每个星期的每一天指定时间关机
:: 如果要换成每个月的某几天,请改字母为数字,并用逗号分隔
:: 以下代码没有错误检测语句,输入时间的时候务必按照指定格式输入
:: 可以用在CMD窗口用at命令来查看计划任务
if not "%times%"=="" for %%i in (%times%) do (
at %%i /every:M,T,W,Th,F,S,Su shutdown -s
)
就是红色代码部分,关机指令: at 时间 shutdown -s,不熟悉时间格式的小伙伴需要百度自行查询一下哦!
四:每隔2秒新建一个txt文件,文件名由1~10
@echo off
::1代表开始文件名,2代表间隔,10代表结束文件名 (这是注释,详见前文)
for /l %%i in (1 2 10) do (
cd.>%%i.xls
ping /n 2 127.1>nul
)
这里需要了解for的用法,可以看前文。
%cd%——当前路径,%%i,循环变量,作为以.xls为后缀名的文件名称。
ping /n 2 127.1>nul 此语句的作用:ping即连接网络,127.0.0.1也就是自己的主机,-n 2 就是ping2次,花费时间大概为2秒左右,>nul 不在屏幕上显示ping的运行结果,整体作用为延时两秒。
五:删除历史记录
删除"运行"、"查找"等处的历史记录,还是注册表操作。
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v ClearRecentDocsonExit /t REG_DWORD /d 00000001
六:显示自己IP
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
echo %ip%
最笨办法就是打开cmd,输入ipconfig,自己手动查看。
这个原理一样,'ipconfig ^| find /i "ip address"
将ipconfig 的输出,寻找ip address这个指定的字符,如果没有,记得换字符
像这个就需要寻找ipv4地址 这几个字符
for /f "tokens=15":
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。
token里的x,y表示第x,y个字符被传递给for命令。
一句话总结:提取列。
通俗讲,共同提取每一行的第m小节的内容。
因此,可以用该命令来指定提取文本信息。
七:全盘禁止运行病毒程序或者流氓软件
for /f %%i in (需要禁止的软件名称) do (
reg add "%route%\%%i" /v Debugger /t REG_SZ /d 全盘禁止运行%%i /f >nul 2>nul)
同理,利用注册表禁止软件运行,可以将许多软件写入一个配置文件中,然后for循环遍历即可。
解除限制:
for /f %%i in (需要解除的软件名称) do reg delete "%route%\%%i" /f >nul 2>nul
八:隐藏运行
if not "%1"=="wind" mshta vbscript:createobject("wscript.shell").run("""%~nx0"" wind",vbhide)(window.close)&&exit
顾名思义,此代码可以让批处理脚本在后台运行不可见。
九:选择功能的实现
类似于下图的功能实现代码:
@echo off
echo 请选择功能??
echo. 1.方法一
echo. 2.方法二
:agn
set in=&set /p in=请选择功能:
for /l %%a in (1 1 2) do (if "%in%"=="%%a" goto %%a)
pause>nul&goto :eof
:1
echo 谢谢啊
pause>nul&goto :eof
:2
echo 知心人啊&&echo 如果觉得你堕落了或一直处在堕落中,去我空间看看&pause>nul&goto :eof
说明:
(1)运行 GOTO :EOF 后, CMD 返回并将等待下一条命令.
(2) 运行 EXIT 后, CMD 将直接关闭并返回到曾启动 cmd.exe 的程序或返回到”资源管理器”.
十:随机数
echo 请输入想产生的随机数的最大值,如1-100就输入100
set /p s=
echo 请输入显示的个数
set /p g=
cls
set count=0
:loop
set /a num=%random%%%%s%+1
if not defined num%num% (
set num%num%=%num%
set /a count+=1
call echo %%num%%
)
if %count% lss %g% goto loop
根据输入的上下限,产生随机数。