研究批处理的笔记,不是教程,谨供参考
阅读本文需要一定的dos基础概念,象:
盘符、文件、目录(文件夹)、子目录、根目录、当前目录
每个命令的完整说明请加 /? 参数参考微软的帮助文档
可以看到,在 /? 帮助里,"命令扩展名"一词会经常出现
"命令扩展名"是指相对于win98的dos版本而言,每个命令新增的功能
命令测试环境win2000proSP4
win98的命令功能太少,就不作研究了
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个子目录 . 和 ..
. 代表当前目录
.. 代表当前目录的上级目录
dir . #显示当前目录中的文件和子目录
dir .. #显示当前目录的上级目录中的文件和子目录
其它参数可参考 dir /?
4 cd
更改当前目录
cd mp3 #进入当前目录中的mp3 目录
cd .. #进入当前目录中的上级目录
cd\ #进入根目录
cd #显示当前目录
cd /d d:\mp3 #可以同时更改盘符和目录
cd\"Documents and Settings"\All users
文件名带空格,可以不加引号
建议加上引号,因为有的时候不加引号会运行出错,如登录脚本
如果更改到的目录不存在,则出错返回 errorlevel=1
5 md
创建目录
md abc #在当前目录里建立子目录 abc
md d:\a\b\c #如果 d:\a 不存在,将会自动创建
6 rd
删除目录
rd abc #删除当前目录里的 abc 子目录,要求为空目录
rd /s/q d:\temp #删除 d:\temp 文件夹及其子文件夹和文件,不需要按 Y 确认
7 del
删除文件
del d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件
del *.*
删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按 Y 确认
del /q/a/f d:\temp\*.*
删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
del /q/a/f/s d:\temp\*.*
删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
8 ren
文件重命名
ren 1.txt 2.bak #把 1.txt 更名为 2.bak
ren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件
ren d:\temp tmp #支持对文件夹的重命名
9 cls
清屏
10 type
显示文件内容
type c:\boot.ini #显示指定文件的内容,程序文件一般会显示乱码
type *.txt #显示当前目录里所有.txt文件的内容
11 copy
拷贝文件
copy c:\test.txt d:\
复制 c:\test.txt 文件到 d:\
copy c:\test.txt d:\test.bak
复制 c:\test.txt 文件到 d:\ ,并重命名为 test.bak
copy c:\*.*
复制 c:\ 所有文件到当前目录,不包括隐藏文件和系统文件
不指定目标路径,则默认目标路径为当前目录
copy con test.txt
从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件
con代表屏幕,prn代表打印机,nul代表空设备
copy 1.txt + 2.txt 3.txt
合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件
如果不指定 3.txt ,则保存到 1.txt
copy test.txt +
复制文件到自己,实际上是修改了文件日期
12 title
设置cmd窗口的标题
title 新标题 #可以看到cmd窗口的标题栏变了
13 ver
显示系统版本
14 label 和 vol
设置卷标
vol #显示卷标
label #显示卷标,同时提示输入新卷标
label c:system #设置C盘的卷标为 system
15 pause
暂停命令
运行该命令时,将显示下面的消息:
请按任意键继续 . . .
一般用于看清楚屏幕上显示的内容
16 rem 和 ::
注释命令
注释行不执行操作
17 date 和 time
日期和时间
date #显示当前日期,并提示输入新日期,按"回车"略过输入
date/t #只显示当前日期,不提示输入新日期
time #显示当前时间,并提示输入新时间,按"回车"略过输入
time/t #只显示当前时间,不提示输入新时间
18 goto 和 :
跳转命令
:label #行首为:表示该行是标签行,标签行不执行操作
goto label #跳转到指定的标签那一行
19 find (外部命令)
查找命令
find "abc" c:\test.txt
在 c:\test.txt 文件里查找含 abc 字符串的行
如果找不到,将设 errorlevel 返回码为1
find /i "abc" c:\test.txt
查找含 abc 的行,忽略大小写
find /c "abc" c:\test.txt
显示含 abc 的行的行数
20 more (外部命令)
逐屏显示
more c:\test.txt #逐屏显示 c:\test.txt 的文件内容
21 tree
显示目录结构
tree d:\ #显示D盘的文件目录结构
22 &
顺序执行多条命令,而不管命令是否执行成功
c: & cd\ & dir /w
相当于把下面3行命令写到1行去了
c:
cd\
dir /w
23 &&
顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
f: && cd\ && dir >c:\test.txt
注意如果f盘不存在,那么后面2条命令将不会执行
find "ok" c:\test.txt && echo 成功
如果找到了"ok"字样,就显示"成功",找不到就不显示
24 ||
顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
f: || e:
如果有f盘就不进入e盘
find "ok" c:\test.txt || echo 不成功
如果找不到"ok"字样,就显示"不成功",找到了就不显示
25 |
管道命令
前一个命令的执行结果输出到后一个命令
dir *.* /s/a | find /c ".exe"
管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令
该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数
type c:\test.txt|more
这个和 more c:\test.txt 的效果是一样的
26 > 和 >>
输出重定向命令
> 清除文件中原有的内容后再写入
>> 追加内容到文件末尾,而不会清除原有的内容
主要将本来显示在屏幕上的内容输出到指定文件中
指定文件如果不存在,则自动生成该文件
echo hello world>c:\test.txt
生成c:\test.txt文件,内容为hello world
这个格式在批处理文件里用得很多,可以生成 .reg .bat .vbs 等临时文件
type c:\test.txt >prn
屏幕上不显示文件内容,转向输出到打印机
echo hello world>con
在屏幕上显示hello world,实际上所有输出都是默认 >con 的
copy c:\test.txt f: >nul
拷贝文件,并且不显示"文件复制成功"的提示信息,但如果f盘不存在,还是会显示出错信息
copy c:\test.txt f: >nul 2>nul
不显示"文件复制成功"的提示信息,并且f盘不存在的话,也不显示错误提示信息
echo ^^W ^> ^W>c:\test.txt
生成的文件内容为 ^W > W
^ 和 > 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号
27 <
从文件中获得输入信息,而不是从屏幕上
一般用于 date time label 等需要等待输入的命令
@echo off
echo 2005-05-01>temp.txt
date <temp.txt
del
temp.txt
这样就可以不等待输入直接修改当前日期
28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*
命令行传递给批处理的参数
%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数
在C盘根目录新建test.bat,内容如下:
@echo off
echo %0
echo %1
echo %2
echo %*
运行cmd,输入 c:\test.bat "/a" /b /c /d
可以看出每个参数的含意
修改test.bat内容如下
@echo off
echo %1
echo %~1
echo %0
echo %~f0
echo %~d0
echo %~p0
echo %~n0
echo %~x0
echo %~s0
echo %~a0
echo %~t0
echo %~z0
再运行cmd,输入 c:\test.bat "/a" /b /c /d
可以参照 call/? 或 for/? 看出每个参数的含意
注意这里可以对文件进行日期比较和大小比较
echo load "%%1" "%%2">c:\test.txt
生成的文件内容为 load "%1" "%2"
批处理文件里,用这个格式把命令行参数输出到文件
29 if
判断命令
if "%1"=="/a" echo 第一个参数是/a
if /i "%1" equ "/a" echo 第一个参数是/a
/i 表示不区分大小写,equ 和 == 是一样的,其它运算符参见 if/?
if exist c:\test.bat echo 存在c:\test.bat文件
if not exist c:\windows (
echo 不存在c:\windows文件夹
rem 有多条命令可用小括号括起来,称为"复合语句"
rem 行前的空格是为了看起来条理清楚
)
if exist c:\test.bat (
echo 存在c:\test.bat
) else (
echo 不存在c:\test.bat
rem else表示"否则",判断结果为假时执行其后的命令
)
30 setlocal 和 endlocal
设置"命令扩展名"和"延缓环境变量扩充"
SETLOCAL ENABLEEXTENSIONS #启用"命令扩展名"
SETLOCAL DISABLEEXTENSIONS #停用"命令扩展名"
SETLOCAL ENABLEDELAYEDEXPANSION #启用"延缓环境变量扩充"
SETLOCAL DISABLEDELAYEDEXPANSION #停用"延缓环境变量扩充"
ENDLOCAL #恢复到使用SETLOCAL语句以前的状态
"命令扩展名"默认为启用
"延缓环境变量扩充"默认为停用
批处理结束系统会自动恢复默认值
可以修改注册表以禁用"命令扩展名",详见 cmd /? 。所以用到"命令扩展名"的程
序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确
保程序能在其它系统上正确运行
"延缓环境变量扩充"主要用于 if 和 for 的符合语句,在 set 的说明里有其实用例程
31 set
设置变量
引用变量可在变量名前后加 % ,即 %变量名%
set #显示目前所有可用的变量,包括系统变量和自定义的变量
echo %SystemDrive% #显示系统盘盘符。系统变量可以直接引用
set p #显示所有以p开头的变量,要是一个也没有就设errorlevel=1
set p=aa1bb1aa2bb2 #设置变量p,并赋值为 = 后面的字符串,即aa1bb1aa2bb2
echo %p% #显示变量p代表的字符串,即aa1bb1aa2bb2
echo %p:~6% #显示变量p中第6个字符以后的所有字符,即aa2bb2
echo %p:~6,3% #显示第6个字符以后的3个字符,即aa2
echo %p:~0,3% #显示前3个字符,即aa1
echo %p:~-2% #显示最后面的2个字符,即b2
echo %p:~0,-2% #显示除了最后2个字符以外的其它字符,即aa1bb1aa2b
echo %p:aa=c% #用c替换变量p中所有的aa,即显示c1bb1c2bb2
echo %p:aa=% #将变量p中的所有aa字符串置换为空,即显示1bb12bb2
echo %p:*bb=c% #第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2
set p=%p:*bb=c% #设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2
set /a p=39 #设置p为数值型变量,值为39
set /a p=39/10 #支持运算符,有小数时用去尾法,39/10=
3.9,去尾得3,p=3
set /a p=p/10 #用 /a 参数时,在 = 后面的变量可以不加%直接引用
set /a p="1&0" #"与"运算,要加引号。其它支持的运算符参见set/?
set p= #取消p变量
set /p p=请输入
屏幕上显示"请输入",并会将输入的字符串赋值给变量p
注意这条可以用来取代 choice 命令
注意变量在 if 和 for 的复合语句里是一次性全部替换的,如
@echo off
set p=aaa
if %p%==aaa (
echo %p%
set p=bbb
echo %p%
)
结果将显示
aaa
aaa
因为在读取 if 语句时已经将所有 %p% 替换为aaa
这里的"替换",在 /? 帮助里就是指"扩充"、"环境变量扩充"
可以启用"延缓环境变量扩充",用 ! 来引用变量,即 !变量名!
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
echo %p%
set p=bbb
echo !p!
)
ENDLOCAL
结果将显示
aaa
bbb
还有几个动态变量,运行 set 看不到
%CD% #代表当前目录的字符串
%DATE% #当前日期
%TIME% #当前时间
%RANDOM% #随机整数,介于0~32767
%ERRORLEVEL% #当前 ERRORLEVEL 值
%CMDEXTVERSION% #当前命令处理器扩展名版本号
%CMDCMDLINE% #调用命令处理器的原始命令行
可以用echo命令查看每个变量值,如 echo %time%
注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到
32 start
批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令
start explorer d:\
调用图形界面打开D盘
@echo off
cd /d %~dp0
regedit /s 劲舞团.reg
start patcher.exe
不加 start 命令的话,"劲舞团"运行时,后面会有个黑乎乎的cmd窗口
33 call
批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行
有时有的应用程序用start调用出错的,也可以call调用
34 choice (外部命令)
选择命令
让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel为1234……
win98里是choice.com
win2000pro里没有,可以从win98里拷过来
win2003里是choice.exe
choice /N /C y /T 5 /D y>nul
延时5秒
下面是个 choice 语句的例子
@echo off
rem 以下在win2000pro运行通过,从win98里拷的chioce.com文件
choice /c:abc aaa,bbb,ccc
if errorlevel 3 goto ccc
if %errorlevel%==2 goto bbb
if errorlevel==1 goto aaa
rem 必须先判断数值高的返回码
rem 可以看到 errorlevel 值的判断有3种写法,有时某种写法不好用,可以用另外的写法
rem 直接运行chioce相当于运行choice /c:yn
:aaa
echo aaa
goto end
:bbb
echo bbb
goto end
:ccc
echo ccc
goto end
:end
35 assoc 和 ftype
文件关联
assoc 设置'文件扩展名'关联,关联到'文件类型'
ftype 设置'文件类型'关联,关联到'执行程序和参数'
当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe
打开
而是先判断.txt属于 txtfile '文件类型'
再调用 txtfile 关联的命令行 txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
可以在"文件夹选项"→"文件类型"里修改这2种关联
assoc #显示所有'文件扩展名'关联
assoc .txt #显示.txt代表的'文件类型',结果显示 .txt=txtfile
assoc .doc #显示.doc代表的'文件类型',结果显示 .doc=Word.Document.8
assoc .exe #显示.exe代表的'文件类型',结果显示 .exe=exefile
ftype #显示所有'文件类型'关联
ftype exefile #显示exefile类型关联的命令行,结果显示 exefile="%1" %*
assoc .txt=Word.Document.8
设置.txt为word类型的文档,可以看到.txt文件的图标都变了
assoc .txt=txtfile
恢复.txt的正确关联
ftype exefile="%1" %*
恢复 exefile 的正确关联
如果该关联已经被破坏,可以运行
command.com ,再输入这条命令
36 pushd 和 popd
切换当前目录
@echo off
c: & cd\ & md mp3 #在 C:\ 建立 mp3 文件夹
md d:\mp4 #在 D:\ 建立 mp4 文件夹
cd /d d:\mp4 #更改当前目录为 d:\mp4
pushd c:\mp3 #保存当前目录,并切换当前目录为 c:\mp3
popd #恢复当前目录为刚才保存的 d:\mp4
一般用处不大,在当前目录名不确定时,会有点帮助
37 for
循环命令
这个比较复杂,请对照 for/? 来看
for %%i in (c: d: e: f:) do echo %%i
依次调用小括号里的每个字符串,执行 do 后面的命令
注意%%i,在批处理中 for 语句调用参数用2个%
默认的字符串分隔符是"空格键","Tab键","回车键"
for %%i in (*.txt) do find "abc" %%i
对当前目录里所有的txt文件执行 find 命令
for /r . %%i in (*.txt) do find "abc" %%i
在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行
for /r . %%i in (.) do echo %%~pni
显示当前目录名和所有子目录名,包括路径,不包括盘符
for /r d:\mp3 %%i in (*.mp3) do echo %%i>>d:\mp3.txt
把 d:\mp3 及其子目录里的mp3文件的文件名都存到 d:\mp3.txt 里去
for /l %%i in (2,1,8) do echo %%i
生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1
for /f %%i in ('set') do echo %%i
对 set 命令的输出结果循环调用,每行一个for /f "eol=P" %%i in ('set') do echo %%i
取 set 命令的输出结果,忽略以 P 开头的那几行for /f %%i in (d:\mp3.txt) do echo %%i
显示 d:\mp3.txt 里的每个文件名,每行一个,不支持带空格的名称
for /f "delims=" %%i in (d:\mp3.txt) do echo %%i
显示 d:\mp3.txt 里的每个文件名,每行一个,支持带空格的名称
for /f "skip=5 tokens=4" %%a in ('dir') do echo %%a
对 dir 命令的结果,跳过前面5行,余下的每行取第4列
每列之间的分隔符为默认的"空格"
可以注意到 dir 命令输出的前5行是没有文件名的for /f "tokens=1,2,3 delims=- " %%a in ('date /t') do (
echo %%a
echo %%b
echo %%c
)
对 date /t 的输出结果,每行取1、2、3列
第一列对应指定的 %%a ,后面的 %%b 和 %%c 是派生出来的,对应其它列
分隔符指定为 - 和"空格",注意 delims=- 后面有个"空格"
其中 tokens=1,2,3 若用 tokens=1-3 替换,效果是一样的
for /f "tokens=2* delims=- " %%a in ('date /t') do echo %%b
取第2列给 %%a ,其后的列都给 %%b
32 subst (外部命令)
映射磁盘。
subst z: \\server\d #这样输入z:就可以访问\\server\d了
subst z: /d #取消该映射
subst #显示目前所有的映时
38 xcopy (外部命令)
文件拷贝
xcopy d:\mp3 e:\mp3 /s/e/i/y
复制 d:\mp3 文件夹、所有子文件夹和文件到 e:\ ,覆盖已有文件
加 /i 表示如果 e:\ 没有 mp3 文件夹就自动新建一个,否则会有询问
39 一些不常用的内部命令
>& 将一个句柄的输出写入到另一个句柄的输入中
<& 从一个句柄读取输入并将其写入到另一个句柄输出中
shift 命令行传递给批处理的参数不止9个时,用以切换参数
color 设置cmd窗口的显示颜色
pormpt 更改命令提示符号,默认都是 盘符:\路径\> ,如 c:\>
40 format (外部命令)
格式化硬盘
format c: /q/u/autotest
/q表示快速格式化,/autotest表示自动格式化,不需要按 Y 确认
/u表示每字节用 F6 覆盖硬盘数据,使其不可用软件恢复
format c: /c
格式化C盘,并检测坏道
41 fdisk (外部命令)
硬盘分区
win2000不带该命令
win98里的fdisk不支持80G以上大硬盘,winme里的支持
fdisk/mbr
重建硬盘分区表,一般用于清除引导区病毒、还原精灵
注意使用该命令不能从硬盘启动,必须软驱或光驱启动后直接运行
42 ping (外部命令)
ping -l 65500 -t 192.168.1.200
不停的向192.168.1.200计算机发送大小为65500byte的数据包
ping -n 10 127.0.0.1>nul
ping自己10次,可用于批处理延时10秒
43 net
这个还没研究明白,先复制个help过来
net 命令解释
许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性:
通过键入 net /? 可查阅所有可用的 net 命令。
通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。例如,要得到 net acco
unts 命令的帮助,请键入 net help accounts。
所有 net 命令接受选项 / yes 和 /no(可缩写为 / y 和 /n )。/ y 对命令产生的任何交
互提示自动回答"是",/n 回答"否"。例如,net stop server 通常提示确认是否根据服
务器服务结束所有服务,net stop server /y 自动回答"是"并关闭服务器服务。
Net Accounts
更新用户帐号数据库、更改密码及所有帐号的登录要求。必须要在更改帐号参数的计算机上
运行网络登录服务。
net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days |
unlimited}] [/minpwage:days] [/uniquepw:number] [/domain]
net accounts [/sync] [/domain]
参数
无
键入不带参数的 net accounts,将显示当前密码设置、登录时限及域信息。
/forcelogoff:{minutes | no}
设置当用户帐号或有效登录时间过期时,结束用户和服务器会话前的等待时间。no 选项禁止
强行注销。该参数的默认设置为 no。
指定 /forcelogoff:minutes 之后,Windows NT 在其强制用户退出网络 minutes 分钟之前
,将给用户发出警报。如果还有打开的文件,Windows NT 将警告用户。如果 minutes 小于
两分钟,Windows NT 警告用户立即从网络注销。
/minpwlen:length
设置用户帐号密码的最少字符数。允许范围是 0-14,默认值为 6。
/maxpwage:{days | unlimited}
设置用户帐号密码有效的最大天数。unlimited 不设置最大天数。/maxpwage 选项的天数必
须大于 /minpwage。允许范围是 1-49,710 天 (unlimited)。默认值为 90 天。
/minpwage:days
设置用户必须保持原密码的最小天数。 0 值不设置最小时间。允许范围是 0-49,710 天,默
认值为 0 天。
/uniquepw:number
要求用户更改密码时,必须在经过 number 次后,才能重复使用与之相同的密码。允许范围
是 0-8。默认值为 5。
/domain
在当前域的主域控制器上执行该操作。否则只在本地计算机执行操作。
该参数仅用于 Windows NT Server 域中的 Windows NT Workstation 计算机,Windows NT
Server 计算机默认为在主域控制器执行操作。
/sync
当用于主域控制器时,该命令使域中所有备份域控制器同步;当用于备份域控制器时,该命
令仅使该备份域控制器与主域控制器同步。该命令仅适用于 Windows NT Server 域成员的计
算机。
Net Computer
从域数据库中添加或删除计算机。该命令仅在运行 Windows NT Server 的计算机上可用。
net computer \computername {/add | /del}
参数
\computername
指定要添加到域或从域中删除的计算机。
/add
将指定计算机添加到域。
/del
将指定计算机从域中删除。
Net Config
显示当前运行的可配置服务,或显示并更改某项服务的设置。
net config [service [options]
参数
无
键入不带参数的 net config 将显示可配置服务的列表。
service
通过 net config 命令进行配置的服务(server 或 workstation)。
options
服务的特定选项。完整语法请参阅 net config server 或 net config workstation。
Net Config Server
运行服务时显示或更改服务器的服务设置。
net config server [/autodisconnect:time] [/srvcomment:"text "] [/hidden:{yes | n
o}]
参数
无
键入不带参数的 net config server,将显示服务器服务的当前配置。
/autodisconnect:time
设置断开前用户会话闲置的最大时间值。可以指定 -1,表示永不断开连接。允许范围是 -1
-65535 分钟,默认值是 15 分钟。
/srvcomment:"text "
为服务器添加注释,可以通过 net view 命令在屏幕上显示所加注释。注释最多可达 48 个
字符,文字要用引号引住。
/hidden:{yes | no}
指定服务器的计算机名是否出现在服务器列表中。请注意隐含某个服务器并不改变该服务器
的权限。默认为 no。
Net Config Workstation
服务运行时,显示或更改工作站各项服务的设置。
net config workstation [/charcount:bytes] [/chartime:msec] [/charwait:sec]
参数
无
键入不带参数的 net config workstation 将显示本地计算机的当前配置。
/charcount:bytes
指定 Windows NT 在将数据发送到通讯设备之前收集的数据量。如果同时设置 /chartime:m
sec 参数,Windows NT 按首先满足条件的选项运行。允许范围是 0-65535 字节,默认值是
16 字节。
/chartime:msec
指定 Windows NT 在将数据发送到通讯设备之前收集数据的时间。如果同时设置 /charcoun
t:bytes 参数,Windows NT 按首先满足条件的选项运行。允许范围是 0-65535000 毫秒,默
认值是 250 毫秒。
/charwait:sec
设置 Windows NT 等待通讯设备变为可用的时间。允许的范围是 0-65535 秒,默认值是 36
00 秒。
Net Continue
重新激活挂起的服务。
net continue service
参数
service
能够继续运行的服务,包括: file server for macintosh(该服务仅限于 Windows NT Se
rver), ftp publishing service, lpdsvc, net logon, network dde,network dde dsdm
,nt lm security support provider,remoteboot(该服务仅限于 Windows NT Server),
remote access server, schedule,server,simple tcp/ip services 及 workstation 。
Net File
显示某服务器上所有打开的共享文件名及锁定文件数。该命令也可以关闭个别文件并取消文
件锁定。
net file [id [/close]
参数
无
键入不带参数的 net file 可获得服务器上打开文件的列表。
id
文件标识号。
/close
关闭打开的文件并释放锁定记录。请从共享文件的服务器中键入该命令。
Net Group
在 Windows NT Server 域中添加、显示或更改全局组。该命令仅在 Windows NT Server 域
中可用。
net group [groupname [/comment:"text "] [/domain]
net group groupname {/add [/comment:"text "] | /delete} [/domain]
net group groupname username [ ...] {/add | /delete} [/domain]
参数
无
键入不带参数的 net group 可以显示服务器名称及服务器的组名称。
groupname
要添加、扩展或删除的组。仅提供某个组名便可查看组中的用户列表。
/comment:"text "
为新建组或现有组添加注释。注释最多可以是 48 个字符,并用引号将注释文字引住。
/domain
在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作。
该参数仅用于作为 Windows NT Server 域成员的 Windows NT Workstation 计算机。Windo
ws NT Server 计算机默认为在主域控制器中操作。
username[ ...]
列表显示要添加到组或从组中删除的一个或多个用户。使用空格分隔多个用户名称项。
/add
添加组或在组中添加用户名。必须使用该命令为添加到组中的用户建立帐号。
/delete
删除组或从组中删除用户名。
Net Help
提供网络命令列表及帮助主题,或提供指定命令或主题的帮助。可用网络命令列于 N 下面的
"命令参考"中"命令"窗口内。
net help [command]
net command {/help | /?}
参数
无
键入不带参数的 net help 显示能够获得帮助的命令列表和帮助主题。
command
需要其帮助的命令,不要将 net 作为 command 的一部分。
/help
提供显示帮助文本方式选择。
/?
显示命令的正确语法。
Net Helpmsg
提供 Windows NT 错误信息的帮助。
net helpmsg message#
参数
message#
需要其帮助的 Windows NT 消息的四位代码。
Net Localgroup
添加、显示或更改本地组。
net localgroup [groupname [/comment:"text "] [/domain]
net localgroup groupname {/add [/comment:"text "] | /delete} [/domain]
net localgroup groupname name [ ...] {/add | /delete} [/domain]
参数
无
键入不带参数的 net localgroup 将显示服务器名称和计算机的本地组名称。
groupname
要添加、扩充或删除的本地组名称。只提供 groupname 即可查看用户列表或本地组中的全局
组。
/comment: "text "
为新建或现有组添加注释。注释文字的最大长度是 48 个字符,并用引号引住。
/domain
在当前域的主域控制器中执行操作,否则仅在本地计算机上执行操作。
该参数仅应用于 Windows NT Server 域中的 Windows NT Workstation 计算机。Windows N
T Server 计算机默认为在主域控制器中操作。
name [ ...]
列出要添加到本地组或从本地组中删除的一个或多个用户名或组名,多个用户名或组名之间
以空格分隔。可以是本地用户、其他域用户或全局组,但不能是其他本地组。如果是其他域
的用户,要在用户名前加域名(例如,SALESRALPHR)。
/add
将全局组名或用户名添加到本地组中。在使用该命令将用户或全局组添加到本地组之前,必
须为其建立帐号。
/delete
从本地组中删除组名或用户名。
Net Name
添加或删除消息名(有时也称别名),或显示计算机接收消息的名称列表。要使用 net nam
e 命令,计算机中必须运行信使服务。
net name [name [/add | /delete]
参数
无
键入不带参数的 net name 将列出当前使用的名称。
name
指定接收消息的名称。名称最多为 15 个字符。
/add
将名称添加到计算机中。 /add 是可选项,键入 net name name 与键入 net name name /a
dd 相同。
/delete
从计算机中删除名称。
Net Pause
暂停正在运行的服务。
net pause service
参数
service
指下列服务: file server for macintosh(仅限于 Windows NT Server)、ftp publishi
ng service、lpdsvc、net logon、network dde、network dde dsdm、nt lm security sup
port provider、remoteboot(仅限于 Windows NT Server)、remote access server、sch
edule、server、simple tcp/ip services 或 workstation 。
Net Print
显示或控制打印作业及打印队列。
net print \computername sharename
net print [\computername ] job# [/hold | /release | /delete]
参数
computername
共享打印机队列的计算机名。
sharename
打印队列名称。当包含 computername 与 sharename 时,使用反斜杠 () 将它们分开。
job#
在打印机队列中分配给打印作业的标识号。有一个或多个打印机队列的计算机为每个打印作
业分配唯一标识号。如果某个作业号用于共享打印机队列中,则不能指定给其他作业,也不
能分配给其他打印机队列中的作业。
/hold
使用 job# 时,在打印机队列中使打印作业等待。打印作业停留在打印机队列中,并且其他
打印作业只能等到释放该作业之后才能进入。
/release
释放保留的打印作业。
/delete
从打印机队列中删除打印作业。
Net Send
向网络的其他用户、计算机或通信名发送消息。要接收消息必须运行信使服务。
net send {name | * | /domain[:name] | /users} message
参数
name
要接收发送消息的用户名、计算机名或通信名。如果计算机名包含空字符,则要将其用引号
(" ") 引住。
*
将消息发送到组中所有名称。
/domain[:name]
将消息发送到计算机域中的所有名称。如果指定 name,则消息将发送到指定域或组中的所有
名称。
/users
将消息发送到与服务器连接的所有用户。
message
作为消息发送的文本。
Net Session
列出或断开本地计算机和与之连接的客户端的会话。
net session [\computername] [/delete]
参数
无
键入不带参数的 net session 可以显示所有与本地计算机的会话的信息。
\computername
标识要列出或断开会话的计算机。
/delete
结束与 \computername 计算机会话并关闭本次会话期间计算机的所有打开文件。如果省略
\computername 参数,将取消与本地计算机的所有会话。
Net Share
创建、删除或显示共享资源。
net share sharename
net share sharename=drive ath [/users:number | /unlimited] [/remark:"text"]
net share sharename [/users:number | unlimited] [/remark:"text"]
net share {sharename | drive ath} /delete
参数
无
键入不带参数的 net share 将显示本地计算机上所有共享资源的信息。
sharename
是共享资源的网络名称。键入带 sharename 的 net share 命令,只显示该共享信息。
drive ath
指定共享目录的绝对路径。
/users:number
设置可同时访问共享资源的最大用户数。
/unlimited
不限制同时访问共享资源的用户数。
/remark:"text "
添加关于资源的注释,注释文字用引号引住。
/delete
停止共享资源。
Net Start
启动服务,或显示已启动服务的列表。如果服务名是两个或两个以上的词,如 Net Logon 或
Computer Browser,则必须用引号 (") 引住。.
net start [service]
参数
无
键入不带参数的 net start 则显示运行服务的列表。
service
包括下列服务: alerter、client service for netware、clipbook server、computer br
owser、dhcp client 、directory replicator 、eventlog 、ftp publishing service 、
lpdsvc、messenger 、net logon 、network dde 、network dde dsdm 、network monitor
ing agent 、nt lm security support provider 、ole 、remote access connection man
ager 、remote access isnsap service 、remote access server 、remote procedure ca
ll (rpc) locator 、remote procedure call (rpc) service 、schedule 、server 、sim
ple tcp/ip services 、snmp、spooler 、tcp/ip netbios helper 、ups 及 workstation
。
下列服务仅在 Windows NT Server 下可用:file server for macintosh、gateway servic
e for netware、microsoft dhcp server、print server for macintosh、remoteboot、wi
ndows internet name service 。
Net Statistics
显示本地工作站或服务器服务的统计记录。
net statistics [workstation | server]
参数
无
键入不带参数的 net statistics 将列出其统计信息可用的运行服务。
workstation
显示本地工作站服务的统计信息。
server
显示本地服务器服务的统计信息。
Net Stop
停止 Windows NT 网络服务。
net stop service
参数
service
包括下列服务: alerter(警报)、client service for netware(Netware 客户端服务)
、clipbook server(剪贴簿服务器)、computer browser(计算机浏览器)、directory r
eplicator(目录复制器)、ftp publishing service (ftp )(ftp 发行服务)、lpdsvc、
messenger(信使)、net logon(网络登录)、network dde(网络 dde)、network dde d
sdm(网络 dde dsdm)、network monitor agent(网络监控代理)、nt lm security supp
ort provider(NT LM 安全性支持提供)、ole(对象链接与嵌入)、remote access conne
ction manager(远程访问连接管理器)、remote access isnsap service(远程访问 isns
ap 服务)、remote access server(远程访问服务器)、remote procedure call (rpc) l
ocator(远程过程调用定位器)、remote procedure call (rpc) service(远程过程调用服
务)、schedule(调度)、server(服务器)、simple tcp/ip services(简单 TCP/IP 服
务)、snmp、spooler(后台打印程序)、tcp/ip netbios helper(TCP/IP NETBIOS 辅助工
具)、ups 及 workstation(工作站)。
下列服务仅在 Windows NT Server 中可用: file server for macintosh、gateway servi
ce for netware、microsoft dhcp server、print server for macintosh、remoteboot、w
indows internet name service。
Net Time
使计算机的时钟与另一台计算机或域的时间同步。不带 /set 参数使用时,将显示另一台计
算机或域的时间。
net time [\computername | /domain[:name] [/set]
参数
\computername
要检查或同步的服务器名。
/domain[:name]
指定要与其时间同步的域。
/set
使本计算机时钟与指定计算机或域的时钟同步。
Net Use
连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。该命令也控制永久
网络连接。
net use [devicename | *] [\computernamesharename[volume] [password | *] [/user
:[domainname]username] [/delete] | [/persistent:{yes | no]}
net use devicename [/home[password | *] [/delete:{yes | no}]
net use [/persistent:{yes | no}]
参数
无
键入不带参数的 net use 将列出网络连接。
devicename
指定要连接到的资源名称或要断开的设备名称。有两类设备名:磁盘驱动器(D: 到 Z:)和
打印机(LPT1: 到 LPT3)。若键入星号而不是指定设备名将分配下一个可用设备名。
\computernamesharename
服务器及共享资源的名称。如果计算机名包含空白字符,要用引号 (" ") 将双反斜线及计算
机名引住。计算机名长度可以是 1-15 个字符。
volume
指定服务器上的 NetWare 卷。要连接到 NetWare 服务器,必须安装并运行 NetWare 客户机
服务 (Windows NT Workstation) 或 NetWare 网关服务 (Windows NT Server)。
password
访问共享资源的密码。
*
提示键入密码。在密码提示行中键入密码时,将不显示该密码。
/user
指定进行连接的另外一个用户。
domainname
指定另一个域。例如 net use d: \servershare /user:adminmariel 连接用户 mariel,如
同从 admin 域连接一样。如果省略域,将使用当前登录域。
username
指定登录的用户名。
/home
将用户连接到其宿主目录。
/delete
取消指定网络连接。如果用户以星号指定连接,则取消所有网络连接。
/persistent
控制永久网络连接的使用。默认为上次使用的设置。无设备的连接不是永久的。
yes
保存建立的所有连接,并在下次登录时还原。
no
不保存建立的连接和继发连接,并在下次登录时还原现有连接。使用 /delete 开关项取消永
久连接。
Net User
添加或更改用户帐号或显示用户帐号信息。
net user [username [password | *] [options] [/domain]
net user username {password | *} /add [options] [/domain]
net user username [/delete] [/domain]
参数
无
键入不带参数的 net user 将查看计算机上的用户帐号列表。
username
添加、删除、更改或查看用户帐号名。用户帐号名最多可以有 20 个字符。
password
为用户帐号分配或更改密码。密码必须满足在 net accounts 命令 /minpwlen 选项中设置的
最小参数。最多是 14 个字符。
*
提示输入密码。在密码提示行中键入密码时,将不显示该密码。
/domain
在计算机主域的主域控制器中执行操作。
该参数仅在 Windows NT Server 域成员的 Windows NT Workstation 计算机上可用。默认情
况下,Windows NT Server 计算机在主域控制器中执行操作。
注意:在计算机主域的主域控制器发生该动作。它可能不是登录域。
/add
将用户帐号添加到用户帐号数据库。
/delete
从用户帐号数据库中删除用户帐号。
选项如下所示:
/active:{no | yes}
启用或禁止用户帐号。如果不激活用户帐号,用户就不能访问计算机上的资源。默认值是 y
es (激活)。
/comment:"text"
提供用户帐号的注释。该注释最多可以有 48 个字符,文字用引号引住。
/countrycode:nnn
使用操作系统的国家代码以便为用户帮助和错误信息文件提供指定语言文件。0 值表示默认
国家代码。
/expires:{date | never}
如果设置 date,将导致用户帐号过期,never 不对用户帐号设置时间限制。过期日期根据
/countrycode 值可以是下列格式: mm/dd/yy、dd/mm/yy 或 mmm, dd, yy。注意帐号在指定
日期开始时过期。月份可以是数字、全名或三个字母的简拼。年可以是两位或四位数,使用
逗号或斜线(不要用空格) 区分日期的各部分。如果省略 yy ,则使用该日期下一次到来的
年份(根据计算机的时钟)。例如如果在 1994 年 1 月 10 日到 1995 年 1 月 8 日之间输
入下列日期项,那它们相同:jan,9
1/9/95
january,9,1995
1/9
/fullname:"name"
指定用户全名而不是用户名。用引号将名字引住。
/homedir ath
设置用户宿主目录的路径。该路径必须存在。
/homedirreq:{yes | no}
设置是否需要宿主目录。
/passwordchg:{yes | no}
指定用户是否能改变自己的密码。默认值是 yes。
/passwordreq:{yes | no}
指定用户帐号是否需要密码,默认值是 yes。
/profilepath:[path]
设置用户登录配置文件的路径。该路径名指向注册表配置文件。
/scriptpath ath
为用户登录脚本设置路径。Path 不能是绝对路径;
path 是相对于 %systemroot%SYSTEM32REPLIMPORTSCRIPTS 的相对路径:。
/times:{times | all}
指定允许用户使用计算机的时间。times 值表示为 day[-day][, day[-day] , time[-time
][, time[-time], 增量限制为一小时。Days 可以是全名或简写(M、T、W、Th、F、Sa、S
u)。Hours 可以是 12 小时制或 24 小时制。对于 12 小时值,使用 AM、PM 或 A.M、P.M
。all 表示用户总可以登录。空值表示用户永远不能登录。用逗号分隔日期和时间,分隔时
间和日期的单位用分号(例如 M,4AM-5PM; T,1PM-3PM)。指定 /times 时不要使用空格。
/usercomment:"text "
让管理员添加或更改帐号的"用户注释"。用引号引住文字。
/workstations:{computername[,...] | *}
列出最多八个用户可以登录到网络的工作站。用逗号分隔列表中的多个项。如果 /workstat
ions 没有列表,或如果列表是星号"*",则用户可以从任何一台计算机登录。
Net View
显示域列表、计算机列表或指定计算机的共享资源列表。
net view [\computername | /domain[:domainname]
net view /network:nw [\computername]
参数
无
键入不带参数的 net view 将显示当前域的计算机列表。
\computername
指定要查看其共享资源的计算机。
/domain[:domainname]
指定要查看其可用计算机的域。如果省略 domainname ,则显示网络的所有域。
/network:nw
显示 NetWare 网络中所有可用的服务器。如果指定计算机名,则显示 NetWare 网络中该计
算机的可用资源。也可以用此开关指定添加到系统中的其他网络
NET SHARE sharename
sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
[/USERS:number | /UNLIMITED]
[/CACHE:Manual | Documents| Programs | None ]
sharename [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents | Programs | None]
{sharename | devicename | drive:path} /DELETE
NET SHARE 使网络用户可以使用某一服务器上的资源。 当不带选项使用本命令
时,它会列出该计算机上正在被共享的所有资源。对于每一种资源,Windows 都
会报告其设备名或路径名,以及与之相关的描述性注释。
sharename 指共享资源的网络名。输入 NET SHARE 和一个共享名只会
显示那个共享的有关信息。
drive:path 指定将被共享的目录的绝对路径。
/GRANT:user,perm 创建有安全性描述符的共享,对指定用户授予要求的权限。
此选项可以多次使用,将共享权限赋予多个用户。
/USERS:number 设置可以同时访问共享资源的最大用户数。
/UNLIMITED 指定可以同时访问共享资源的用户数目不受限制。
/REMARK:"text" 添加一个有关资源的描述性注释,应将文本包含在引号中。
devicename 指一个或多个被共享名所共享的打印机 (LPT1: 至 LPT9:)。
按共享名共享。
/DELETE 停止共享资源。
/CACHE:Manual 对来自此共享的程序和文档启用手动客户缓存
/CACHE:Documents 对来自此共享的文档启用自动缓存
/CACHE:Programs 对来自此共享的程序和文档启用自动缓存
/CACHE:None 禁用此共享的缓存
NET HELP command | MORE 用于逐屏显示帮助。