900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > BAT CMD 批处理文件脚本总结(中文)

BAT CMD 批处理文件脚本总结(中文)

时间:2023-04-11 00:23:31

相关推荐

BAT CMD 批处理文件脚本总结(中文)

1.综述

1、”.bat”: 这是微软的第一个批处理文件的后缀名,在几乎所有的Windows 操作系统内都能运行。

2、 “.cmd”: 是为Windows NT 设计的命令行脚本, 为Cmd.exe shell而设计的, 对于不具有向后兼容性。

3、目前所知道的.cmd 和 .bat文件的区别是对ERRORLEVEL变量的改变:当Command Extensions (命令行扩展)处于enabled状态时,哪怕是.cmd文件中一个成功执行的命令都可以改变ERRORLEVEL的值,而在.bat 文件中ERRORLEVEL 变量只有在遇到错误的时候才发生改变。

2.@echo off/echo on

1. “echo” 用来在控制台上显示信息。

2. “echo.” 用来显示一空行。(注意:echo和右下角的点之间没有空格,如果有空格就变成显示句点了。)

3. “echo off”: 在使用了这行命令之后,其他命令都只显示命令的结果,而不显示命令本身。

4. “echo on”: 这是默认值,表示显示所有的命令结果和命令行本身。

5. “echo”: 当执行echo而不带任何参数的时候,会显示echo的打开或关闭的状态:“ECHO is on” 或者 “ECHO is off”。

6. “@”:@ 符号表示不显示本行的命令本身。如果只用echo off,虽然echo off后面的命令不显示出来,只显示命令的结果,但是echo off它自己确被显示出来了,这就是使用@echo off的原因。

3.SETLOCAL/ENDLOCAL

1. SETLOCAL用来控制批处理文件中变量的可见性。就是高级语言常说的局部变量。凡是在SETLOCAL和ENDLOCAL之间的变量都是局部的,以免被其他脚本文件改变变量的值,而没有使用这个标示的都是Global visible(全局变量),很可能被其他文件所改变。下面的例子很好的说明了这一点。

由此可见变量的作用域在简单的批处理文件还是很慎重,否则可以造成千变万化的结果,这样这个脚本就很不稳定了。所以,变量作用域很重要,得注意。

2. EnableDelayedExpansion. (参考百度:/view/2923132.htm )

在CMD里面,系统使用“^”作为脱字符。使用变量延迟扩展ENABLEDELAYEDEXPANSION之后,脱字符^ 就可以一直产生作用,而不再局限于一个命令行。这样对于处理包含HTML和XML格式的字符的时候,就方便多了。请看下面的例子。

3. DISABLEEXTENSIONS.

值得注意的是,这里的扩展不是扩展名,而是命令的扩展功能,比如 “/F” 参数就是For循环的命令扩展。

只有使用了命令扩展我们才能执行下面的语句。

FOR /F "DELIMS=" %%a IN (test.TXT) DO @echo %%a

否则我们要输出一个文件,只能使用Type test.txt了。命令扩展默认是开启的。

4.Set

1. SET 不带任何参数: 将显示当前用户的所有系统环境变量。(set)

2. SET 带一个变量名: 尝试搜索并显示以这个变量名开头的环境变量。(set PROCESSOR就会显示以PROCESSOR开始的变量)

3. SET variable=string: 给一个变量赋值。

4. SET “”: 使用一对空的双引号,会显示一个不带参数的情况下没显示出来的变量。我这里就显示下面两个奇怪的变量。

=C:=C:\Users\Lingli

=E:=E:\Powershell

使用cd %=C:%还真可以转到C:\Users\Lingli目录下。

5. SET “var=”(or SET var=): 删除一个变量。

6. SET /A variable=expression: 使用算数运算符来给变量赋值。

7. SET /P variable=[提示字符]:提示用户输入并把输入的值赋给variable。提示字符可以为空。有时可以使用CHOICE来代替SET /P.

8. 有用的环境变量。

5.Choice

1. 详细语法:

2. 例子:

6.Rem and Arguments.

1. REM [comment]: 批处理文件的注释符,可以使用“::” 来代替REM。

2. 参数。

%0对应文件名本身,其他分别对应一个参数值,支持255个参数。

3. 文件名参数扩展。

7.IF 语句

1. 详细语法:

2. 例子(可以看出If语句也是一条语句)

8.For 循环

1. 详细语法:

2. 例子:

9.Net.

1. 管理服务: Net start, stop, pause, continue [service]。

2. 连接到一个共享文件:Net use。

NET USE [磁盘名:] \\共享名称[\子目录名] [密码] [/USER:[域名\]用户名]

NET USE磁盘名:]: /delete

3. Net share: 显示本地的所有共享,包括隐藏的共享。

4. Net share ShareName: 显示共享的相关信息。

5. 创建一个本地共享: NET SHARE sharename=drive:path /REMARK:"text" [/CACHE:Manual | Automatic | No ]

6. 修改用户数量限制和标示。

NET SHARE sharename /USERS:number /REMARK:"text"

NET SHARE sharename /UNLIMITED /REMARK:"text"

7. 删除共享: NET SHARE {sharename | devicename | drive:path} /DELETE

8. Net view \\计算机名: 列出远程机器的所有共享。

9. Net localgroup: 把一个账户加入一个本地组,如加入管理员组:net localgroup administrators DomainName\UserName /add

10. 机器重命名:netdomrenamecomputer 原机器名/newname:修改后的机器名/UserD:user/PasswordD:password

11. 加入域: net dom join 计算机名/domain:域名 /UserD:域管理员账户 /PasswordD:域管理员密码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。