.bat文件中start, pausegoto以及rem的用法
.bat文件中start, pause,goto以及rem的用法
.bat文件中start, pause,goto以及rem的用法分类:
Windows Batch
2013-06-06 17:30
2293人阅读
评论(0)
收藏
举报
我们先来看start, 其实start就是启动,我以前经常用matlab中的system来启动.exe文件,下面我们用start来启动.exe, .bat文件内容如下:
[plain] view plaincopy@ echo off start calc start calc
start calc 结果,连续启动了三个计算器。
另外,start也可以用来打开一个文件夹,如:
[plain] view plaincopy@ echo off md 1 start 1
当然,start也可以打开某一文件,如:
[plain] view plaincopy@ echo off echo hello world >
1.txt start 1.txt 我发现, start可以可开word文件(当然,你的电脑需要有word软件),可见,start就相当于双击文件。 pause的作用很简单,就是暂停执行,如:
[plain] view plaincopy@ echo off pause start calc
pause start calc pause start calc pause
接下来,我们看看goto
[plain] view plaincopy@ echo off goto label dir :label
md 1 在这里,dir没有执行, 跟C语言中的goto和棋相似啊,只是:符号在label之前而已。下面,我们写一个有趣的goto:
[plain] view plaincopy@ echo off :labelx goto
labely :labely dir goto labelx 最后,我们来看看rem(remark)的用法,其实rem就是一个注释,主要是使看.bat文件命令的人阅读方便,如下:
[plain] view plaincopy@ echo off rem 开始 rem echo
开始 echo 开始 需要注意的是:在用rem的时候,要将echo设为off的状态,否则,该命令虽然被注释,系统不会执行,但仍然会回显(当然啦,你也可以用@)。而且,在用rem注释的时候,rem必须另外单独占一行,和c++中的注释//不一样。
bat批处理命令及解释
bat批处理命令及解释⼀、批处理概念
批处理⽂件:包含DOS命令的可编辑可执⾏⽂件
批处理:可以对某⼀对象批量操作的⽂件
⼆、批处理命令简介
命令1~10
1 echo 和 @
回显命令@ #关闭单⾏回显
echo off #从下⼀⾏开始关闭回显
@echo off #从本⾏开始关闭回显。⼀般批处理第⼀⾏都是这个
echo on #从下⼀⾏开始打开回显
echo #显⽰当前是 echo off 状态还是 echo on 状态
echo. #输出⼀个”回车换⾏”,空⽩⾏
#(同echo, echo; echo+ echo[ echo] echo/ echo)
2 errorlevel
echo %errorlevel%
每个命令运⾏结束,可以⽤这个命令⾏格式查看返回码
默认值为0,⼀般命令执⾏出错会设 errorlevel 为1
3 dir
显⽰⽂件夹内容dir #显⽰当前⽬录中的⽂件和⼦⽬录
dir /a #显⽰当前⽬录中的⽂件和⼦⽬录,包括隐藏⽂件和系统⽂件
dir c: /a:d #显⽰ C 盘当前⽬录中的⽬录
dir c: /a:-d #显⽰ C 盘根⽬录中的⽂件
dir c: /b/p #/b只显⽰⽂件名,/p分页显⽰
dir *.exe /s #显⽰当前⽬录和⼦⽬录⾥所有的.exe⽂件
4 cd
切换⽬录cd #进⼊根⽬录
cd #显⽰当前⽬录
cd /d d:sdk #可以同时更改盘符和⽬录
5 md
创建⽬录md d:abc #如果 d:a 不存在,将会⾃动创建中级⽬录
#如果命令扩展名被停⽤,则需要键⼊ mkdir abc
6 rd
删除⽬录rd abc #删除当前⽬录⾥的 abc ⼦⽬录,要求为空⽬录
rd /s/q d:temp #删除 d:temp ⽂件夹及其⼦⽂件夹和⽂件,/q安静模式
7 del
删除⽂件del d:test.txt #删除指定⽂件,不能是隐藏、系统、只读⽂件
del /q/a/f d:temp*.*
删除 d:temp ⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录del /q/a/f/s d:temp*.*
【bat脚本】常见命令
【bat脚本】常见命令
Batch Script
如有错误,欢迎指出学习站点:
常见命令
注释
批脚本中只⽀持⾏注释。
rem ⽤于在批处理⽂件中添加注解或说明,且该命令会输出⼀个换⾏;
: 后紧跟⼀个
:或空格、制表符也可起到注释的作⽤。
ECHO 和 @
echo⽤以显⽰消息和启⽤或关闭命令回显。
使⽤不带参数的
echo将显⽰当前回显设置,使⽤
echo [on | off]打开或关闭回显功能。
显⽰消息时,该命令将在消息后输出两个换⾏。
若
echo紧跟⼀个
.,那个将输出空的消息,如果其后⼜紧跟⽂本,那么
.将被视为
,即
echo.hi等同于
echo hi。
将
@置于命令前,将关闭该命令本⾝的回显。
CLS
清除屏幕。
PAUSE
暂停批处理程序,并显⽰以下消息:
请按任意键继续. . .
若要显⽰其它提⽰语,可以使⽤
echo [other prompt] & pause > nul。
TITLE
设置命令提⽰窗⼝的窗⼝标题。
GOTO
将 cmd.exe 定向到批处理程序中带标签的⾏。
GOTO label
label 指定批处理程序中⽤作标签的⽂字字符串。
标签必须单独⼀⾏,并且以冒号打头。
使⽤特殊标签``goto :eof
将控制转移到当前批脚本⽂件的结尾,注意eof
前有:
。经过试验,⼀般的标签前加上:`后仍可有效跳转。
FIND
在⽂件中搜索字符串。
FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[ ...]]
parammeaning
/V显⽰所有未包含指定字符串的⾏
/C仅显⽰包含字符串的⾏数/N显⽰⾏号
/I搜索字符串时忽略⼤⼩写
"string"指定要搜索的⽂本字符串
[drive:][path]filename指定要搜索的⽂件parammeaning
如果没有指定路径,FIND 将搜索在提⽰符处键⼊的⽂本或者由另⼀命令产⽣的⽂本。
CMD
启动 Windows 命令解释器的⼀个新实例。
/C 执⾏字符串指定的命令然后终⽌
dos批处理命令详解
dos批处理命令详解
dos批处理命令详解
导语:要学好DOS,就要学好批处理文件。下面就由店铺为大家介绍一下dos批处理命令详解,大家一起去看看吧!
DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文件的命令及其使用。
DOS自带的批处理命令:
@ :将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。
CALL :从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同样的操作。
CHOICE :选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。
ECHO :显示指定的信息。通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
Windows批处理(bat)语法大全
Windows批处理(bat)语法⼤全
%~dp0[获取当前路径]
%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,⽬录
cd %~dp0 :进⼊批处理所在⽬录
cd %~dp0bin\ :进⼊批处理所在⽬录的bin⽬录
⽰例
这个⽰例在win10 x64测试正常
::作⽤:以管理员⾝份安装Apache
d:
cd %~dp0bin
httpd.exe -k install -n “Apache24”
运⾏结果
以管理员⾝份运⾏ ⽰例.bat ,执⾏结果如下:
C:\Windows\system32>d:
D:>cd D:\Server\Apache24\bin
D:\Server\Apache24\bin>httpd.exe -k install -n “Apache24”
我的常⽤命令
%cd%[执⾏的路径]
当前执⾏的路径,并⾮⽬标⽂件的路径
taskkill /f /im notepad.exe [终⽌进程]taskkill /?打开帮助
cmd窗⼝中⽂乱码在CMD窗⼝右键/默认值,打开属性选择 “默认代码页为简体中⽂GBK”,获取命令帮助 xxx /?遇到记不清楚的命令,但记得名字,就可以键⼊ 命令名 空格 /?就会有详细的该命令的帮助了,⽐如:ping /? cd /?
查看内置命令的帮助信息
ver /?
cmd /?
set /?
rem /?
if /?
echo /?
goto /?
for /?
shift /?
call /?
其他常⽤的命令
type /?
find /?
findstr /?
copy /?
#⼀、基础语法
1.批处理⽂件是⼀个“.bat”结尾的⽂本⽂件,这个⽂件的每⼀⾏都是⼀条DOS命令。可以使⽤任何⽂本⽂件编辑⼯具创建和修改。
2.批处理是⼀种简单的程序,可以⽤ if 和 goto 来控制流程,也可以使⽤ for 循环。
3.批处理的编程能⼒远不如C语⾔等编程语⾔,也⼗分不规范。
4.每个编写好的批处理⽂件都相当于⼀个DOS的外部命令,把它所在的⽬录放到DOS搜索路径(path)中,即可在任意位置运⾏。
BAT脚本编写教程(比较易懂和全面)
BAT脚本编写教程(⽐较易懂和全⾯)
作者不详。敬意!
echo、@、call、pause、rem(⼩技巧:⽤::代替rem)是批处理⽂件最常⽤的⼏个命令,我们就从他们开始学起。
echo 表⽰显⽰此命令后的字符
echo off 表⽰在此语句后所有运⾏的命令都不显⽰命令⾏本⾝
@与echo off相象,但它是加在每个命令⾏的最前⾯,表⽰运⾏时不显⽰这⼀⾏的命令⾏(只能影响当前⾏)。
call 调⽤另⼀个批处理⽂件(如果不⽤call⽽直接调⽤别的批处理⽂件,那么执⾏完那个批处理⽂件后将⽆法返回当前⽂件并
执⾏当前⽂件的后续命令)。 pause 运⾏此句会暂停批处理的执⾏并在屏幕上显⽰Press any key to continue...的提⽰,等待⽤户按任意键后继续
rem 表⽰此命令后的字符为解释⾏(注释),不执⾏,只是给⾃⼰今后参考⽤的(相当于程序中的注释)。
例1:⽤edit编辑a.bat⽂件,输⼊下列内容后存盘为c:\a.bat,执⾏该批处理⽂件后可实现:将根⽬录中所有⽂件写⼊ a.txt中,
启动UCDOS,进⼊WPS等功能。
批处理⽂件的内容为: 命令注释:
@echo off 不显⽰后续命令⾏及当前命令⾏
dir c:\*.* >a.txt 将c盘⽂件列表写⼊a.txt
call c:\ucdos\ucdos.bat 调⽤ucdos
echo 你好 显⽰"你好"
pause 暂停,等待按键继续
rem 准备运⾏wps 注释:准备运⾏wps
cd ucdos 进⼊ucdos⽬录
wps 运⾏wps
批处理⽂件的参数
批处理⽂件还可以像C语⾔的函数⼀样使⽤参数(相当于DOS命令的命令⾏参数),这需要⽤到⼀个参数表⽰符“%”。
%[1-9]表⽰参数,参数是指在运⾏批处理⽂件时在⽂件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0
表⽰批处理命令本⾝,其它参数字符串⽤%1到%9顺序表⽰。
BATfor循环
BATfor循环
@echo off
echo.Current User is '%USERNAME%'
echo.This script must run with administrative privileges to register ActiveX DLLs
echo.Start register the DLL files.........please wait.
for %%A in (A,B,C) do echo .hello %%A
rem 两个::相当于注释。与rem相同,只是执⾏时不显⽰::后的内容。 ⼀个:相当于标号定义。该⾏也不会执⾏,只是给goto语句跳转⽤的。
cd %~dp0
set "filemask=*.dll"
for %%A in (%filemask%) do regsvr32 %%A /s
echo.-----------
echo.-------
echo.----done
PAUSE
第⼀章 批处理基础
第⼀节 常⽤批处理内部命令简介
批处理定义:顾名思义,批处理⽂件是将⼀系列命令按⼀定的顺序集合为⼀个可执⾏的⽂本⽂件,其扩展名为BAT或者CMD。这些命令统
称批处理命令。
⼩知识:可以在键盘上按下Ctrl+C组合键来强⾏终⽌⼀个批处理的执⾏过程。
了解了⼤概意思后,我们正式开始学习.先看⼀个简单的例⼦!@echo off
echo “欢迎来到⾮常BAT!”
pause
把上⾯的3条命令保存为⽂件test.bat或者test.cmd然后执⾏,
他就会在屏幕上显⽰以下⼆⾏话:
欢迎来到⾮常BAT!
请按任意键继续…
这就是⼀个简单批处理⽂件了,这个批处理⽂件⼀共就⽤了2条命令 “echo” 和”pause” 还有⼀个特殊符号”@”
从上⾯这个简单的批处理中,我们可以发现其实批处理就是运⽤⼀些含有特殊意义的符号和⼀些完成指定功能的命令组合⽽成,那么在批处理
中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解⼀下⼀些最常⽤的!(以下内容来源⽹络,请各位仔细阅读,好进⼊下节的实例说明)
批处理文件(bat)实现内外网IP切换
批处理⽂件(bat)实现内外⽹IP切换
@echo off
rem 强制获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
rem //设置变量
set NAME="以太⽹"
rem //可以根据需要更改以下属性值
set ADDR=192.168.1.1
set MASK=255.255.255.0
set GATEWAY=192.168.1.254
set DNS1=59.11.99.66
set DNS2=
rem //可以根据需要更改以下属性值
set ADDR_YF=10.0.2.1
set MASK_YF=255.255.255.0
set GATEWAY_YF=10.0.2.254
set DNS1_YF=none
set DNS2_YF=
rem //以上属性为IP地址、⼦⽹掩码、⽹关、⾸选DNS和备⽤DNS
echo 当前可⽤的操作包括:
echo 1 设置外⽹IP
echo 2 设置研发⽹IP
echo 3 退出
echo 请选择你要的操作:
set /p operate=
if %operate%==1 goto 1
if %operate%==2 goto 2
if %operate%==3 goto 3
:1
echo 设置外⽹IP中, 请稍等...
rem //可以根据你的需要进⾏更改
echo IP_ADDR = %ADDR%
echo MASK = %MASK%
echo GATEWAY = %GATEWAY%
netsh interface ipv4 set address %NAME% static %ADDR% %MASK% %GATEWAY%
echo ⾸选DNS = %DNS1%
if "%DNS1%"=="" (echo DNS1为空) else netsh interface ipv4 set dns %NAME% static %DNS1% primary
bat语法
BAT文件语法和技巧
首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。
第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。
第四,在DOS和Win9x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的autoexec.bat的示例:
@ECHO OFF
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH
LH SMARTDRV.EXE /X
LH /INSERT
LH CTMOUSE.EXE
SET TEMP=D:\TEMP
.bat批处理命令之设置关机倒计时脚本
.bat批处理命令之设置关机倒计时脚本
1 @ECHO off REM 不显⽰后续命令⾏及当前命令⾏
2
3 TITLE Shutdown countdown REM 设置脚本标题
4
5 COLOR 0A REM 设置脚本 背景⾊为⿊⾊ 前景⾊为淡绿⾊
6
7 :start REM 标签引导 开始
8
9 CLS REM 清空命令⾏界⾯
10
11 SET /p time_s=Enter the second number: REM 命名⼀个变量time_s 并使⽤ /p 打印右边的字符 等待⽤户输⼊ 输⼊完毕后将输⼊结果保存到 变量 time_s
12
13 ECHO %time_s%|FINDSTR /BE "[0-9]*" > NUL || GOTO start REM 通过管道 输出变量 time_s 给 查找字符串命令 判断是否为纯数字 将结果重定向到⼀个空设备 失败的话执⾏后⾯的跳转代码 跳转到 标签引导 开始
14
15 IF %time_s% EQU 0 GOTO clstime REM 如果变量 time_s 等于 0 跳转到 标签引导 清除关机倒计时计划
16
17 IF %time_s% EQU 1 GOTO exitcmd REM 如果变量 time_s 等于 1 跳转到 标签引导 退出命令⾏
18
19 IF %time_s% LSS 60 ( REM 如果 变量 time_s ⼩于 60
20 ECHO You're sure to shut down in a short time REM 输出提⽰语句 询问⽤户是否真的需要设置短时间内关机
21 CHOICE REM 等待⽤确认 Y 或 N 并将⽤户输⼊的 Y 或 N 的索引 保存到 错误码值 ERRORLEVEL
22 IF ERRORLEVEL 2 GOTO start REM 如果 错误码值 ⼤于等于 2 即⽤户输⼊了 N 则跳转到 标签引导 开始 注意索引是从 1 开始算的
bat命令中文说明
1 echo 和 @回显控制命令
@ #关闭单行回显 echo off #从下一行开始关闭回显
@echo off #从本行开始关闭回显。一般批处理第一行都是这个
echo on #从下一行开始打开回显 echo #显示当前是 echo off 状态还是 echo on 状态
echo. #输出一个"回车换行",一般就是指空白行
echo hello world #输出hello world "关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始和结束时,系统都会自动打开
回显 2 errorlevel程序返回码
echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,
一般命令执行出错会设 errorlevel 为1 3 dir显示目录中的文件和子目录列表
dir #显示当前目录中的文件和子目录
dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件 dir c: /a:d #显示 C 盘当前目录中的目录
dir c:\ /a:-d #显示 C 盘根目录中的文件dir d:\mp3 /b/p #逐屏显示 d:\mp3 目录里的文件,只显示文件
名,不显示时间和大小 dir *.exe /s显示当前目录和子目录里所有的.exe文件其中 * 是通配符,代表所有的文件名,还一个通配符 ? 代表一个
任意字母或汉字如 c*.* 代表以 c 开头的所有文件?.exe 代表所有文件名是一个字母的.exe文件如果指定的目录或文件
不存在,将返回 errorlevel 为1;每个文件夹的 dir 输出都会有2个子目录 . 和 ... 代表当前目录.. 代表当前目录的 上级目录
