命令将展现当前回显设置,不论在写shell

作者:金沙总站6155

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:
Sample.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下的说话照旧以常规顺序推行。

 

澳门娱乐6165 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 数字 待实行的授命
如若再次来到码等于内定的数字,则条件建设构造,运转命令,不然运营下一句。
澳门娱乐6165,如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 为一定命令钦命参数或命令行开关。
在批管理文件中动用 FO奥德赛 命令时,内定变量请使用 %%variable
而不要用 %variable。变量名称是分别轻重缓急写的,所以 %i 分化于 %I

如若命令扩展名被启用,下列额外的 FO奥德赛 命令格式会惨被
支持:

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

一经集中富含通配符,则钦定与目录名相称,而不与公事
名匹配。

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

检查以 [drive:]path 为根的目录树,指向每种目录中的
FO汉兰达 语句。假设在 /Odyssey 后并未有一些名目录,则采取当前
目录。假使集仅为一个单点(.)字符,则枚举该目录树。

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(设置遇到变量)等。

若是开发银行盘根目录中绝非这么些文件,Computer会让客户输入日期和岁月。

诸如,一个一流的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 设置临时目录

本文由澳门娱乐6165发布,转载请注明来源

关键词: