想学批处理的看这里4

本文详细介绍了批处理中常用命令的功能与用法,包括call、choice、assoc、ftype、pushd、popd等,以及如何利用这些命令实现文件关联、目录切换、映射磁盘等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


注释:
choice外部命令在XP中也是没有的.
如果仅需要等待输入做选择条件 ,可用

set /P CHS= [输入 "G" 跳转到G段 或者 输入 "Q" 跳转到Q段]?
if /I "%CHS%"=="G" goto :G
if /I "%CHS%"=="Q" goto :Q

:G
ECHO 已经跳转到G段.
EXIT

:Q
ECHO 已经跳转到Q段.
EXIT

原作者在set命令中简单带过此解释.

-------------------------------------------------------------------------------------------------------------------
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 subst (外部命令)
映射磁盘。

subst z: \\\\server\\d  #这样输入z:就可以访问\\\\server\\d了
subst z: /d       #取消该映射
subst         #显示目前所有的映射

注释:
就本人现在的知识而言,感觉与 NET USE 命令差不多
不同的是 subst 命令可以虚拟映射本机目录为磁盘.
你可以:

subst K: "C:\program files"

来用K:访问C:\program files (感觉比较无聊 )

下面是XP SP2 [版本 5.1.2600] CMD.exe 对subst的解释:

将路径与驱动器号关联。

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

drive1: 指定要指派路径的虚拟驱动器。
[drive2:]path 指定物理驱动器和要指派给虚拟驱动器的路径。
/D 删除被替换的 (虚拟) 驱动器。

不加任何参数键入 SUBST,可以显示当前虚拟驱动器的清单。
-------------------------------------------------------------------------------------------------------------------
38 xcopy (外部命令)
文件拷贝

xcopy d:\\mp3 e:\\mp3 /s/e/i/y
复制 d:\\mp3 文件夹、所有子文件夹和文件到 e:\\ ,覆盖已有文件
加 /i 表示如果 e:\\ 没有 mp3 文件夹就自动新建一个,否则会有询问

注释:

原作者..............

下面是XP SP2 [版本 5.1.2600] CMD.exe 对 xcopy 的解释:

复制文件和目录树。

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
         [/C] [/i] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/u]
         [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
         [/EXCLUDE:file1[+file2][+file3]...]

 source     指定要复制的文件。
 destination   指定新文件的位置和/或名称。
 /A       只复制有存档属性集的文件, 但不改变属性。
 /M       只复制有存档属性集的文件,并关闭存档属性。
 /D:m-d-y    复制在指定日期或指定日期以后更改的文件。如果没有提供日期,
         只复制那些源时间比目标时间新的文件。
 /EXCLUDE:file1[+file2][+file3]...
         指定含有字符串的文件列表。每一个字符串
         必须在文件的单独行中。如果有任何
         字符串与要被复制的文件的绝对路径
         相符,那个文件将不会得到复制。
         例如,指定如 \obj\ 或 .obj 的字符串会排除
         目录 obj 下面的所有文件或带有
         .obj 扩展名的文件。
 /P       创建每个目标文件前提示。
 /S       复制目录和子目录,除了空的。
 /E       复制目录和子目录,包括空的。与 /S /E 相同。可以用来修改 /T。
 /V       验证每个新文件。
 /W       提示您在复制前按键。
 /C       即使有错误,也继续复制。
 /I       如果目标不存在,又在复制一个以上的文件,则假定目标一定是一个目录。
 /Q       复制时不显示文件名。
 /F       复制时显示完整的源和目标文件名。
 /L       显示要复制的文件。
 /G       允许将没有经过加密的文件复制到不支持加密的目标。
 /H       也复制隐藏和系统文件。
 /R       覆盖只读文件。
 /T       创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。
 /U       只复制已经存在于目标中的文件。
 /K       复制属性。一般的 Xcopy 会重置只读属性。
 /N       用生成的短名复制。
 /O       复制文件所有权和 ACL 信息。
 /X       复制文件审核设置(隐含 /O)。
 /Y       复制文件审核设置(隐含 /O)。 现存目标文件。
 /-Y       导致提示以确认改写一个现存目标文件。
 /Z       用重新启动模式复制网络文件。

命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 改写。
-------------------------------------------------------------------------------------------------------------------
39 一些不常用的内部命令

>& 将一个句柄的输出写入到另一个句柄的输入中
<& 从一个句柄读取输入并将其写入到另一个句柄输出中

shift 命令行传递给批处理的参数不止9个时,用以切换参数

如果命令扩展名被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉
命令从第 n 个参数开始移位;n 介于零和八之间。例如:

   SHIFT /2

会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。

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


许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性:
通过键入 net /? 可查阅所有可用的 net 命令。
通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。例如,要得到 net accounts 命令的帮助,请键入 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 NTServer 计算机默认为在主域控制器执行操作。
/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 no}]
参数

键入不带参数的 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:msec 参数,
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 秒。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟V-SpHeNIC

支持科研技术

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值