来自 编程 2019-09-22 14:52 的文章
当前位置: 澳门太阳娱乐手机登录 > 编程 > 正文

转百度知道

Windows cmd

一.轻便批管理个中命令简单介绍
1.Echo 命令
开垦回显或关闭伏乞回显作用,或展现消息。若无任何参数,echo 命令将体现当前回显设置。
语法
echo [{ on|off }] [message]
Sample:@echo off / echo hello world
在骨子里运用中大家会把那条命令和重定向符号(也叫做管道符号,一般用> >> ^)结合来贯彻输入一些指令到特定格式的文本中.那将要其后的例证中反映出来。

对此跨平台的顺序,常常会提供一些可行的命令行工具,由此shell脚本、bat脚本文件就必须了。互连网上shell的书、小说都游人如织的,所以领悟起来会相对轻松的多,而windows下的bat互连网则少有提到。这里不准备写windows bat 编制程序大全,而是轻巧对bat做八个简约的入门级的读书。

2.@ 命令
代表不出示@前边的一声令下,在侵袭进程中(比方利用批管理来格式化敌人的硬盘)自然不能让对方看到你利用的指令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 那几个命令是不得以运用/y那个参数的,可喜的是微软留了个autoset这些参数给大家,效果和/y是一致的。)

任凭在写shell,照旧bat,它们的布署性都遵守那样一条法规:一切都以命令。Windows下命令是大大小小写不灵动的。

3.Goto 命令
点名跳转到标签,找到标签后,程序将管理从下一行开端的吩咐。
语法:goto label (label是参数,钦点所要转向的批管理程序中的行。)
Sample:
if { %1 }=={ } goto noparms
if { %2 }=={ } goto noparms(假如这里的if、%1、%2你不知道的话,先跳过去,前面会有详尽的解释。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
标签的名字能够不管起,然而最棒是有含义的假名啦,字母前加个:用来表示那么些字母是标签,goto命令就是基于那些:来查找下一步跳到到那边。最好有一点认证那样你外人看起来才会精晓您的来意啊。

 

4.Rem 命令
讲明命令,在C语言中一定与/*--------*/,它并不会被执行,只是起一个解说的功用,便于旁人阅读和您自个儿事后修改。
Rem Message
Sample:@Rem Here is the description.

宗旨命令(rem, echo, @,/?)

rem:注释 (comment, remarks)。参数能够是任何内容。

echo :它有五个职能:打字与印刷信息、调节和测验按钮。如若参数是on 恐怕off,代表展开、关闭调节和测量试验,纵然前面是别的内容,则参数代表要出口的音信。为何便是debug开关呢?借使设置了echo on,随后实施的任何命令及其实行结果都会输出到正规输出流。

@用来关闭有个别命令的调节和测量检验音讯,意思是说利用@标记的吩咐不会打出命令本人、实践结果。

/? 查看命令扶助

例如:

REM open the cmd echo
@echo on
echo hello, windows cmd 
@echo hello, windows cmd 

REM close the cmd echo
@echo off
echo hello, windows cmd 
@echo hello, windows cmd

 

施行结果: 

D:Notewindows cmd>REM open the cmd echo

D:Notewindows cmd>echo hello, windows cmd
hello, windows cmd
hello, windows cmd

D:Notewindows cmd>REM close the cmd echo
hello, windows cmd
hello, windows cmd

 

对于REM的吩咐,也是会打到STD里,假设不期待见到,就足以利用@标明。 

 

 

5.Pause 命令

支配命令(if-else, for-in-do, goto)

 

运营 Pause 命令时,将显得下边包车型大巴音讯:
Press any key to continue . . .
Sample:
@echo off
:begin
copy a:*.* d://back
echo Please put a new disk into driver A
pause
goto begin
在这么些例子中,驱动器 A 中磁盘上的具有文件均复制到d://back中。显示的讲解提醒您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便你更动磁盘,然后按任性键继续处理。

if-else

 

if [noterrorlevel number command [else expression] 基于上一个命令执行的结果进行判定操作

if [notstring1==string2 command [else expression] 判定两个字符串是否相等

if [notexist FileName command [else expression]  判定指定的文件是否存在

If command extensions are enabled, use the following syntax:

if [/istring1 CompareOp string2 command [else expression] 进行字符串比较 (equ, neq, lss, leq, gtr, geq)

if cmdextversion number command [else expression]

if defined variable command [else expression]

 

 

 

6.Call 命令
从贰个批管理程序调用另多个批管理程序,并且不鸣金收兵父批管理程序。call 命令接受用作调用目的的价签。假使在剧本或批管理文件外使用 Call,它将不会在指令行起效能。
语法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
参数
[Drive: }[Path] FileName
点名要调用的批管理程序的职分和称号。filename 参数必得怀有 .bat 或 .cmd 扩充名。

For-in-do

循环实施,命令语法:

for {%variable | %%variable} in (set) do command [CommandLineOptions]

1)For, in, do 是骨干结构,不能缺少;

2){%variable | %%variable} 要求的,变量大小写敏感。

在指令提醒符中推行for时,for中援用变量时,使用%

在批处理文件中实行for时,for中援用变量时,使用%%

别的,为了防止与bat文件的参数 %0到 %9相争论,所以变量无法是0-9的数字

3)( set ) 须要的。用于钦命七个 files, directories, range of values, textstrings。括号不能够省。

 

4)command 须要的,代表要实践的授命。

5)commandLineOptions, 实施command时所需的参数

 

越多用法,也许参考:

 

 

7.start 命令
调用外界程序,全数的DOS命令和指令行程序都得以由start命令来调用。
侵略常用参数:
MIN 伊始时窗口最小化
SEPARATE 在分手的上空内早先 16 位 Windows 程序
HIGH 在 HIGH 优先级档案的次序开端应用程序
REALTIME 在 REALTIME 优先级档案的次序早先应用程序
WAIT 运转应用程序并等候它甘休
parameters 那么些为传送到命令/程序的参数
施行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就回去命令提醒。如若在指令脚本内执行,该新表现则不会生出。
8.choice 命令
choice 使用此命令可以让客商输入三个字符,进而运营不相同的一声令下。使用时应有加/c:参数,c:后应写提示可输入的字符,之间无空格。它的再次回到码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
Sample:
萨姆ple.bat的剧情如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (应先决断数值最高的错误码)
if errorlevel 2 goto mem
if errotlevel 1 goto end

goto

语法:goto label

跳转到钦赐的label。借使钦点的label不真实,就继续实行下一条命令。假如找到label,就从label处继续施行。假设程序以健康顺序实践到一个label处,并不是因此goto跳转到label,label下的言辞如故以平常顺序实施。

 

图片 1 

 

 

想要驾驭更加多指令参见:

 

 

 

 

 

 

 

:defrag
c://dos//defrag
goto end
:mem
mem
goto end
:end
echo good bye

此文件运转后,将显示 defrag,mem,end[D,M,E]? 顾客可挑选d m e ,然后if语句将作出判定,d表示实施标号为defrag的程序段,m表示推行标号为mem的程序段,e表示实行标号为end的程序段,每种程序段最终都是goto end将顺序跳到end标号处,然后程序将展示good bye,文件甘休。

9.If 命令

if 表示将判别是不是符合规定的标准化,进而调整施行不一的一声令下。 有三种格式:

1、if "参数" == "字符串" 待施行的通令
参数假诺等于钦点的字符串,则条件创设,运行命令,不然运转下一句。(注意是多少个等号)
如if "%1"=="a" format a:
if { %1 }=={ } goto noparms
if { %2 }=={ } goto noparms

2、if exist 文件名 待施行的授命
借使有钦赐的文本,则条件建设构造,运营命令,不然运转下一句。
如if exist config.sys edit config.sys

3、if errorlevel / if not errorlevel 数字 待实施的通令
只要再次来到码等于钦命的数字,则条件建设构造,运维命令,不然运维下一句。
如if errorlevel 2 goto x2
DOS程序运营时都会回来多少个数字给DOS,称为错误码errorlevel或称再次来到码,常见的回来码为0、1。

10.for 命令
for 命令是二个相比复杂的命令,首要用以参数在钦定的限制内循环实践命令。
在批管理公事中应用 FO冠道 命令时,钦点变量请使用 %%variable

for { %variable|%%variable } in (set) do command [ CommandLineOptions]
%variable 钦命一个单一字母可替换的参数。
(set) 钦命贰个或一组文件。能够使用通配符。
command 内定对各种文件执行的命令。
command-parameters 为一定命令钦定参数或命令行按钮。
在批管理文件中使用 FOXC60 命令时,钦命变量请使用 %%variable
而并非用 %variable。变量名称是分别轻重缓急写的,所以 %i 不一致于 %I

如若命令扩充名被启用,下列额外的 FO奥迪Q5 命令格式会晤前遇到
支持:

FOR /D %variable IN (set) DO command [command-parameters]

倘诺集中蕴涵通配符,则内定与目录名相称,而不与公事
名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command [command-

检查以 [drive:]path 为根的目录树,指向各个目录中的
FO陆风X8 语句。假使在 /XC60 后不曾点名目录,则选用当前
目录。若是集仅为三个单点(.)字符,则枚举该目录树。

FOR /L %variable IN (start,step,end) DO command [command-para

该集表示以增量情势从上马到甘休的二个数字连串。

选择批管理文件

——常用命令

echo、@、call、pause、rem 是批管理公事最常用的多少个指令,大家就从他们初始学起。 echo 表示显示此命令后的字符
echo off 表示在此语句后有所运营的指令都不出示命令行自个儿
@ 与echo off相象,但它是加在其余命令行的最前头,表示运维时不显示命令行本人。
call 调用另一条批管理公事(假使一向调用别的批管理文件 ,实践完那条文件后将不能够奉行业前文件连续命令)
pause 运营此句会暂停,展现Press any key to continue... 等待顾客按猖狂键后延续
rem 表示此命令后的字符为解释行,不执行,只是给自身未来探寻用的

例:用edit编辑a.bat文件,输入下列内容后存盘为c:a.bat,奉行该批管理文件后可达成:将根目录中保有文件写入 a.txt中,运转UCDOS,步向WPS等功用。

批管理公事的始末为: 文件表示:

echo off 不出示命令行

dir c:*.* >a.txt 将c盘文件列表写入a.txt

call c:ucdosucdos.bat 调用ucdos

echo 你好 显示"你好"

pause 暂停,等待开关继续

rem 使用wps 注释将应用wps

cd ucdos 进入ucdos目录

wps 使用wps

批管理公事中仍是能够像C语言同样使用参数,那只需用到四个参数表示符%。

%表示参数,参数是指在运作批管理公事时在文件名后加的字符串。变量能够从 %0到%9,%0代表文件名自己,字符串用%1到%9梯次表示。

举个例子说,C:根目录下一群管理公事名字为f.bat,内容为 format %1

则只要实行C:>f a: 则实际实行的是format a:

又如C:根目录下一群管理文件的名叫t.bat,内容为 type %1 type %2

那么运转C:>t a.txt b.txt 将次第地展现a.txt和b.txt文件的故事情节

行使批管理公事

——特殊命令
if goto choice for 是批管理文件中比较高等的指令,假诺那多少个你用得很内行,你就是批管理文件的专家啦。

if 代表将推断是或不是符合规定的标准化,进而决定实行不一的命令。 有三种格式:
1、if "参数" == "字符串" 待实行的吩咐
参数假若等于钦点的字符串,则条件创建,运营命令,不然运转下一句。(注意是七个等号)
如if "%1"=="a" format a:

2、if exist 文件名 待实施的吩咐
假诺有钦赐的公文,则条件创立,运转命令,不然运转下一句。如if exist config.sys edit config.sys

3、if errorlevel 数字 待施行的吩咐
只要重返码等于钦点的数字,则条件建立,运营命令,不然运维下一句。如if errorlevel 2 goto x2 DOS程序运转时都会回来三个数字给DOS,称为错误码errorlevel或称再次回到码

goto 批管理公事运转到那边将跳到goto 所钦赐的标明处, 一般与if协作使用。 如:

goto end

:end
echo this is the end

标记用 :字符串 表示,标号所在行不被实施

choice 使用此命令可以让客户输入贰个字符,进而运维不相同的吩咐。使用时应该加/c:参数,c:后应写提醒可输入的字符,之间无空格。它的重临码为1234……

如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?

比如说,test.bat的剧情如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判定数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end

:defrag
c:dosdefrag
goto end

:mem
mem
goto end

:end
echo good bye

此文件运转后,将显得 defrag,mem,end[D,M,E]? 客商可挑选d m e ,然后if语句将作出决断,d表示施行标号为defrag的程序段,m表示实施标号为mem的程序段,e表示实践标号为end的程序段,各种程序段最终都是goto end将次第跳到end标号处,然后程序将显得good bye,文件截至。

for 循环命令,只要条件相符,它将再三实施同一命令。

格式FOR [%%f] in (集合) DO [命令]
要是参数f在钦定的群集内,则条件创立,试行命令

万一一条批管理公事中有一行:
for %%c in (*.bat *.txt) do type %%c
意义是借使是以bat或txt结尾的文书,则突显文件的内容。

选取批管理公事

——autoexec.bat

DOS在运维会自动运维autoexec.bat那条文件,一般大家在里头装载每趟必用的前后相继,如: path(设置路线)、smartdrv(磁盘加快)、 mouse(鼠标运营)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置情况变量)等。

万一开发银行盘根目录中并没有那一个文件,计算时机让客商输入日期和时间。

诸如,贰个规范的autoexec.bat内容如下:

@echo off 不出示命令行

prompt $p$g 设置提示符前有目录指示

path c:dos;c:;c:windows;c:ucdos;c:tools 设置路线

lh c:dosdoskey.com 加载键盘管理

lh c:mousemouse.com 加载鼠标管理

lh c:dossmartdrv.exe 加载磁盘加快管理

lh c:dosmscdex /S /D:MSCD000 /M:12 /V 加载CD-ROM驱动

set temp=c:temp 设置有时目录

本文由澳门太阳娱乐手机登录发布于编程,转载请注明出处:转百度知道

关键词: