批处理命令学习笔记——附录

来源:互联网 发布:润和软件 招聘 编辑:程序博客网 时间:2024/05/19 05:40
1. 常用系统命令的ERRORLEVEL

以下是几个常用命令的返回值及其代表的意义:
backup0备份成功1未找到备份文件2文件共享冲突阻止备份完成3用户用ctrl-c中止备份4由于致命的错误使备份操作中止diskcomp0盘比较相同1盘比较不同2用户通过ctrl-c中止比较操作3由于致命的错误使比较操作中止4预置错误中止比较diskcopy0盘拷贝操作成功1非致命盘读/写错2用户通过ctrl-c结束拷贝操作3因致命的处理错误使盘拷贝中止4预置错误阻止拷贝操作format0格式化成功3用户通过ctrl-c中止格式化处理4因致命的处理错误使格式化中止5在提示“proceed with format(y/n)?”下用户键入n结束xcopy0成功拷贝文件1未找到拷贝文件2用户通过ctrl-c中止拷贝操作4预置错误阻止文件拷贝操作5拷贝过程中写盘错误
2. 批处理的字符串比较大小

在 IF 命令章节,我们已经看到,IF 可以对字符串比较大小。但在批处理环境中,字符串的大小比较并不是按ASCII码值的大小来进行比较的。下面是实际执行的字符大小比较结果:
! ' - # $ % ( ) * , . / : ; ? @ [ \ ] & ^ | < > _ ` { } ~ + = 01...9 aAbBcC...zZ
注意上面的字符比较,使用在字符串中间时,管道操作符 < > & | 及脱字符本身 ^ 要加上一个脱字符,否则会产生语法错误。另外,用于界定字符串的标志 " 本身不能参与字符串比较。

3. 其它可能有用的命令

目前网上出现的批处理教程,为了吸引读者,多介绍一些黑客类的程序和代码,如“NET USE”。这在前面的例子中已经有所体现。有兴趣的读者可以另外查找相关的资料。这里介绍一些容易被人们忽略的很有用的工具,权作参考(这也是微软批处理专题中提到的)。

CHCP

CHCP这个命令是用来修改当前活动的代码页的。通常对于中文系统,在CMD命令行方式下,也能显示中文的帮助,输入中文字符串。但是从 FOR 的帮助中我们可以看到,微软官方的翻译我们简直不敢恭维。所以有时候查阅英文原文的帮助,是十分有效而便捷的。这个命令的执行十分简单:
CHCP [nnn]
如果不键入代码页,则显示当前激活的代码页。简体中文的代码页是936,英文的代码页是437。通常简体中文显示“活动的代码页: 936”。可以根据这一点,在批处理程序中给定不同方式的批处理帮助信息:
for /F "tokens=2 delims=:" %%a in ('chcp') do (
    if "%%a" EQU " 936" (goto chsHelpMsg) else (goto engHelpMsg)
)
SCHTASKS

安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。
schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
参数说明:
/tn TaskName
指定任务的名称。
/tr TaskRun
指定任务运行的程序或命令。键入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。如果忽略该路径,SchTasks.exe 将假定文件在 Systemroot\System32 目录下。
/sc schedule
指定计划类型。有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。值说明MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY指定计划的时间单位。ONCE任务在指定的日期和时间运行一次。ONSTART任务在每次系统启动的时候运行。可以指定启动的日期,或下一次系统启动的时候运行任务。ONLOGON每当用户(任意用户)登录的时候,任务就运行。可以指定日期,或在下次用户登录的时候运行任务。ONIDLE只要系统空闲了指定的时间,任务就运行。可以指定日期,或在下次系统空闲的时候运行任务。
/mo modifier
指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。计划类型修饰符说明MINUTE11439任务每 n 分钟运行一次。HOURLY123任务每 n 小时运行一次。DAILY1365任务每 n 天运行一次。WEEKLY152任务每 n 周运行一次。MONTHLY112任务每 n 月运行一次。LASTDAY任务在月份的最后一天运行。FIRSTSECONDTHIRDFOURTHLAST/d day 参数共同使用,并在特定的周和天运行任务。例如,在月份的第三个周三。
/d dirlist
指定周或月的一天。只与 WEEKLY 或 MONTHLY 计划共同使用时有效。计划类型日期值WEEKLY可选项。有效值是 MON ~ SUN 和 * (每一天)。MON 是默认值。MONTHLY在使用 FIRST、SECOND、THIRD、FOURTH 或 LAST 修饰符 (/mo) 时,需要 MON ~ SUN 中的某个值。1 ~ 31 是可选的,只在没有修饰符或修饰符为1 ~ 12 类型时有效。默认值是 1 (月份的第一天)。
/m month[,month...]
指定一年中的一个月。有效值是 JAN ~ DEC 和 * (每个月)。/m 参数只对于 MONTHLY 计划有效。在使用 LASTDAY 修饰符时,这个参数是必需的。否则,它是可选的,默认值是 * (每个月)。
/i InitialPageFileSize
指定任务启动之前计算机空闲多少分钟。键入一个 1 ~ 999 之间的整数。这个参数只对于 ONIDLE 计划有效,而且是必需的。
/st StartTime
HH:MM:SS 24 小时格式指定时间。默认值是命令完成时的当前本地时间。/st 参数只对于 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 计划有效。它只对于 ONCE 计划是必需的。
/sd StartDate
MM/DD/YYYY 格式指定任务启动的日期。默认值是当前日期。/sd 参数对于所有的计划有效,但只对于 ONCE 计划是必需的。
/ed EndDate
指定任务计划运行的最后日期。此参数是可选的。它对于 ONCE、ONSTART、ONLOGON 或 ONIDLE 计划无效。默认情况下,计划没有结束日期。
/s Computer
指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u [domain\]user
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p password
指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。
/ru {[Domain\]User | "System"}
使用指定用户帐户的权限运行任务。默认情况下,使用用户登录到运行 SchTasks 的计算机上的权限运行任务。值说明[domain\}User?指定用户帐户。"System"""指定操作系统使用的 NT Authority\System 帐户。
/p Password
指定用户帐户的密码,该用户帐户在 /u 参数中指定。如果在指定用户帐户的时候忽略了这个参数,SchTasks.exe 会提示您输入密码而且不显示键入的文本。使用 NT Authority\System 帐户权限运行的任务不需要密码,SchTasks.exe 也不会提示索要密码。
RASDIAL

通过使用 rasdial 命令,可以创建连接到拨号网络连接的简单批处理文件。还可以从命令行使用 rasdial 建立网络连接或者断开网络连接。与自动拨号不同,rasdial 命令不会在拨入连接前自动检测网络连接,而且不依赖于“远程访问自动连接管理器”服务。

例如,您可能希望在非高峰期时段自动连接到拨号连接以传输较大的数据文件。可以创建一个批处理文件或者一组批处理文件使该过程自动化。将使用 rasdial 命令开始和结束拨号连接。还有其他可配置的参数与 Rasdial 相关,例如要使用的电话号码,是否使用回拨号码。

rasdial ConnectionName [UserName [{Password|*}]] [/domain:Domain] [/phone:PhoneNumber] [/callback:CallbackNumber] [/phonebook:PhonebookPath] [/prefixsuffix]
rasdial [ConnectionName] /disconnect
参数说明:
ConnectionName
连接到电话簿 (.pbk) 项时才需要。指定位于 systemroot\System32\Ras 文件夹中的当前 .pbk 文件中的项。如果ConnectionName 包含有空格或特殊字符,请使用引号将文本引起来(例如,"Connection Name")。
除非选择“个人电话簿”选项,否则使用 Rasphone.pbk 文件。如果选中了“个人电话簿”选项,则使用 UserName.pbk 文件。当选择“个人电话簿/p”时,Rasphone 标题栏上将显示名称。如果名称发生冲突,就会附加号码。
UserName [{Password|*}]
指定连接所使用的用户名和密码。如果使用了星号,会提示用户输入密码,但不显示输入的字符。
/domain:Domain
指定用户帐户所在的域。如果未指定,将使用“连接到”对话框中“域”字段的最后一个值。
/phone:PhoneNumber
将 Rasphone.pbk 中的项目的电话号码替换为指定的电话号码。
/callback:CallbackNumber
将 Rasphone.pbk 中项目的回拨号码替换为指定的回拨号码。
/phonebook:PhonebookPath
指定电话簿文件的路径。默认路径为 systemroot\System32\Ras\username.pbk。可以指定文件的完整路径。
/prefixsuffix
将当前 TAPI 位置拨号设置应用于电话号码。这些设置是在“控制面板”的“电话服务”中配置的。默认情况下该选项处于关闭状态。
/disconnect
断开连接时需要。断开指定项。也可以通过键入 /d 断开连接。 
0 0
原创粉丝点击