windows批处理小应用

来源:互联网 发布:游戏耳机推荐知乎 编辑:程序博客网 时间:2024/05/18 00:17

接触批处理有一段时间了,总感觉 windows 批处理是有一定的用处的。尤其是当你需要在 windows 系统中做些批量有规律的事情 、或者一些固定的命令行操作。

你完全可以编辑一个批处理文件,将一系列烦人的命令化的操作变成简单的一次“双击”。这可能就是批处理的魅力之一吧~~ 

以下是一些批处理的简单应用,但是批出理能实现的功能远远不止这些!

1.新建一个空的文本文档

如果我不想这样,每次都要右键打开选择新建文本文档。而是轻轻双击完成新建。批处理会帮到你。

@echo offtype nul>temple.txtstart temple.txt

保存为 .bat 后缀的文件。双击运行试一试。

2.批量重命名

举个栗子,我想将一个目录下边的 txt 文档,命名为 m1.txt m2.txt ... 这样的格式 使用windows 默认的批量重命名?你得到的可能是:m (1).txt、m (2).txt... 那怎么办?

批处理其实最擅长这种事情了。

@echo off&setlocal ENABLEDELAYEDEXPANSIONfor %%I in (*.txt) do (set var=%%Icopy %%~nI.txt m!var!)

是不是很简短?

3.开启 win7 虚拟 wifi

  • 建立虚拟 wifi (只需要建立一次):
@echo off:startset /p name=输入wifi名称:echo.set /p pwd1=输入wifi密码(8-63位):echo.set /p pwd2=再次输入wifi密码:echo.if %pwd1% equ %pwd2% ( goto usage ) else ( goto fail ):failecho 两次输入密码不一致set /p temp=是否继续操作(y/n):if "%temp%" equ "y" ( goto start ) else ( goto end ):usagenetsh wlan stop hostednetwork > nulnetsh wlan set hostednetwork mode=allow ssid=%name% key=%pwd1% > nulif %errorlevel% equ 0 ( goto usage1 ) else ( echo 输入密码无效或者网卡不支持&&goto end):usage1echo 设置wifi成功,请在本地连接中打开虚拟无线网络共享。开启成功后点击start_wifi.bat&&start img\sharenetwork.jpg:endecho 退出&pause&exit

 

  • 手动打开网络共享(建立成功后需要手动将可用网络共享给 Microsoft Virtual WIFI 对应的网络,只需要设定一次):


  • 启动虚拟 wifi (每次只需要单击就可以启动 wifi 了):
@echo offnetsh wlan start hostednetwork>nulif %errorlevel% equ 0 echo 启动WIFI成功&&ping -w 100 127.0.0.1 > nul&&exit

 

  • 关闭虚拟 wifi:
@echo offnetsh wlan stop hostednetwork>nulif %errorlevel% equ 0 echo 关闭WIFI成功&&ping -w 100 127.0.0.1 >nul&&exit
  • 删除虚拟 wifi:
@echo offnetsh wlan set hostednetwork mode=disallow > nulif %errorlevel% equ 0 echo 删除WIFI成功&&ping -w 100 127.0.0.1 >nul

这是几个独立的文件,可以加做一个菜单就能管理虚拟 wifi 建立、开启、关闭、删除这些操作。

最后给大家看一个大虾写的代码吧,看过牛仔裤,哦不是里基努·里维斯演的<<黑客帝国>>吧,片头的『数码雨』是不是很炫很酷。说不定是批处理写的。

代码(运行一下,看看效果?):

::code by WANKOILZ 2008/5/28@echo off&setlocal enabledelayedexpansion&color 02&mode con lines=30&title 黑客帝国数码雨setlocal&set flag=0:loopif %flag% lss 30 (set/a flag+=1) else (call :chang)for /l %%i in (1,1,26) do (  if defined a%%i (set/a a%%i=!random!%%2&set tmp=!a%%i!  ) else (if !random! lss 1000 (set/a a%%i=!random!%%2&set tmp=!a%%i!         ) else (set tmp= ))call set line%flag%=%%line!flag!%%  !tmp!)cls&for /l %%i in (%flag%,-1,1) do echo.!line%%i!for /l %%i in (1,1,100) do ver>nul::ping /n 1 127.1>nulif !random! lss 500 (endlocal&setlocal&set flag=0)goto :loop:changfor /l %%i in (1,1,29) do (set /a tmp=%%i+1call set line%%i=%%line!tmp!%%)set line%flag%=

效果图片:


0 0
原创粉丝点击