第一篇:Windows批处理命令总结详解
Windows批处理命令总结 命令:echo 1.1 echo含义
显示消息,或者启用或关闭命令回显。ECHO [ON | OFF]、ECHO [message] 若要显示当前回显设置,请键入不带参数的 ECHO。
1.2 echo举例
①echo 显示当前回显设置,结果有ECHO 处于打开状态、ECHO 处于关闭状态 ②echo on 打开回显设置,即ECHO 处于打开状态 ③echo off 关闭回显设置,即ECHO 处于关闭状态
④echo 我是中国人 显示输出的内容信息,窗口输出“我的中国人”,不需要加单双引号 ⑤echo.换行 命令:pause 2.1 pause含义
暂停批处理程序,并显示以下消息:请按任意键继续...2.2 pause举例
①pause 显示“请按任意键继续...”信息 命令:@ 3.1 @含义
用于禁止当前执行的命令回显在屏幕上
3.2 @举例
@echo off 该命令行不会回显在屏幕上 4 命令:goto 4.1 goto含义
将 cmd.exe 定向到批处理程序中带标签的行。
GOTO label label
指定批处理程序中用作标签的文字字符串。标签必须单独一行,并且以冒号打头。如果命令扩展被启用,GOTO 会如下改变: GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的办法。有关能使该功能有用的 CALL 命令的扩展描述,请键入CALL /?。
4.2 goto举例
①命令行如下
执行结果如下 命令:call 5.1 call含义
从批处理程序调用另一个批处理程序。
CALL [drive:][path]filename [batch-parameters]
batch-parameters
指定批处理程序所需的命令行信息。如果命令扩展被启用,CALL 会如下改变: CALL 命令现在将卷标当作 CALL 的目标接受。语法是:CALL:label arguments 一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。你必须通过达到批脚本文件末两次来 “exit” 两次。第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。5.2 call举例
①call 文件名 调用外部的批处理文件,并执行内容
执行结果如下: 命令:if 6.1 if含义
执行批处理程序中的条件处理。
IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command
NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指
定条件为 true。
string1==string2
如果指定的文字字符串匹配,指定条件为 true。
EXIST filename
如果指定的文件名存在,指定条件为 true。
command
如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将
在 ELSE 关键字之后执行该命令。ELSE 子句必须出现在同一行上的 IF 之后。例如:
IF EXIST filename.(del filename.)ELSE(echo filename.missing.)6.2 if举例
①字符串匹配判断和文件是否存在判断(既可以为相对路径,也可以为绝对路径)比较运算符
比较运算符有以下几种:
EQU不等于
LSS小于或等于
GTR大于或等于 命令:for 8.1 for含义
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN(set)DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set)
指定一个或一组文件。可以使用通配符。
command
指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果启用命令扩展,则会支持下列 FOR 命令的其他格式: FOR /D %variable IN(set)DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。FOR /R [[drive:]path] %variable IN(set)DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN(start,step,end)DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列 8.2 for举例
①循环输出数字和循环输出3.txt中的文本内容 命令:rem 9.1 rem含义
在批处理文件或 CONFIG.SYS 里加上注解或说明。REM [comment] 9.2 rem举例
①rem 这是一条注释,不会执行 10 命令:start 10.1 start含义
重新打开一个窗口或执行程序,并根据参数执行相应命令
10.2 start举例
①start notepad++ 打开notepad++程序
②start “这是新的cmd窗口” echo 在第二个窗口执行程序 命令:set 11.1 set含义
显示、设置或删除 cmd.exe 环境变量。SET [variable=[string]]
variable 指定环境变量名。
string
指定要指派给变量的一系列字符串。要显示当前环境变量,键入不带参数的 SET。
11.2 set举例
①set 显示所有的环境变量,环境变量不区分大小写 ②set java_home 显示以“java_home”开头的环境变量
③set JAVA_HOME=D:myworkjdkinstall 设置JAVA_HOME的值
④set /p var=请输入您的姓名: 提示用户输入参数,%var%调用该参数
⑤set /a var=2*2 设置运算表达式
命令:choice 12.1 choice含义
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] 描述:该工具允许用户从选择列表选择一个项目并返回所选项目的索引。参数列表:
/C
choices
指定要创建的选项列表。默认列表是 “YN”。
/N
在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。
/CS
允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/T
timeout
做出默认选择之前,暂停的秒数。可接受的值是从 0
到 9999。如果指定了 0,就不会有暂停,默认选项
会得到选择。
/D
choice
在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
项指定的一组选择中;同时,必须用 /T 指定 nnnn。
/M
text
指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
12.2 choice举例
CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。” CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M “选项 1 请选择 a,选项 2 请选择 b。” CHOICE /C ab /N /M “选项 1 请选择 a,选项 2 请选择 b。” 13 命令:copy 13.1 copy含义
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+...]] [destination [/A | /B]]
source
指定要复制的文件。
/A
表示一个 ASCII 文本文件。
/B
表示一个二进位文件。
/D
允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V
验证新文件写入是否正确。
/N
复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
/Y
不使用确认是否要覆盖现有目标文件的提示。
/-Y
使用确认是否要覆盖现有目标文件的提示。
/Z
用可重新启动模式复制已联网的文件。
/L
如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。
13.2 copy举例
①copy a.txt bak.txt 复制a.txt文件,命名为bak.txt,不能复制目录下的文件并重命名 ②copy /b f:1.txt+2.txt f:3.txt 合并文件到一个新的文件 命令:move 14.1 move含义
移动文件并重命名文件和目录。要移动至少一个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名一个目录: MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定你想移动的文件位置和名称。
destination
指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,你还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2
指定目录的新名称。
/Y
取消确认覆盖一个现有目标文件的提示。
/-Y
对确认覆盖一个现有目标文件发出提示。
14.2 move举例
①move 3.txt D:a.txt 文件移动并重命名 命令:del 15.1 del含义
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names
指定一个或多个文件或者目录列表。通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所有文件都会被删除。
/P
删除每一个文件之前提示确认。
/F
强制删除只读文件。
/S
删除所有子目录中的指定的文件。
/Q
安静模式。删除全局通配符时,不要求确认
/A
根据属性选择要删除的文件
属性
R 只读文件
S 系统文件
H 隐藏文件
A 存档文件
I 无内容索引文件
L 重分析点
表示“否”的前缀
/B
使用空格式(没有标题信息或摘要)。
/C
在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
禁用分隔符显示。
/D
跟宽式相同,但文件是按栏分类列出的。
/L
用小写。
/N
新的长列表格式,其中文件名在最右边。
/O
用分类顺序列出文件。
排列顺序
N 按名称(字母顺序)
S 按大小(从小到大)
E 按扩展名(字母顺序)
D 按日期/时间(从先到后)
G 组目录优先
-反转顺序的前缀
/P
在每个信息屏幕后暂停。
/Q
显示文件所有者。
/R
显示文件的备用数据流。
/S
显示指定目录和所有子目录中的文件。
/T
控制显示或用来分类的时间字符域。
17.2 dir举例
①dir /o F: 分类显示F盘下的文件和文件夹 命令:find 18.1 find含义
在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] “string” [[drive:][path]filename[...]]
/V
显示所有未包含指定字符串的行。
/C
仅显示包含字符串的行数。
/N
显示行号。
/I
搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
“string” 指定要搜索的文本字符串。
[drive:][path]filename 指定要搜索的文件。
18.2 find举例
①find /c /n “视” oa视图对比.txt 从文件中查找“视”,并显示行号 命令:type 19.1 type含义
显示文本文件的内容,或者创建文件 TYPE [drive:][path]filename 19.2 type举例
①type nul>a.txt 创建文件a.txt ②type a.txt 查看文件内容 命令:md/mkdir 20.1 md含义
创建目录。
MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 a 不 存在,那么: mkdir abcd 与:mkdir a chdir a mkdir b chdir b mkdir c chdir c mkdir d 相同。如果扩展被停用,则需要键入 mkdir abcd。
20.2 md举例
①md abcd 创建多级目录
第二篇:Windows运行命令
Windows运行命令大全
winver 检查Windows版本
wmimgmt.msc 打开Windows管理体系结构(wmi)wupdmgr Windows更新程序
wscript Windows脚本宿主设置
write 写字板
winmsd 系统信息
wiaacmgr 扫描仪和照相机向导
winchat xp自带局域网聊天
mem.exe 显示内存使用情况
msconfig.exe 系统配置实用程序
mplayer2 简易widnows media player mspaint 画图板
mstsc 远程桌面连接
mplayer2 媒体播放机
magnify 放大镜实用程序
mmc 打开控制台
mobsync 同步命令
dxdiag 检查directx信息
drwtsn32 系统医生
devmgmt.msc 设备管理器
dfrg.msc 磁盘碎片整理程序
diskmgmt.msc 磁盘管理实用程序
dcomcnfg 打开系统组件服务
ddeshare 打开dde共享设置
dvdplay dvd播放器
net stop messenger 停止信使服务
net start messenger 开始信使服务
notepad 打开记事本
nslookup 网络管理的工具向导
ntbackup 系统备份和还原
narrator 屏幕“讲述人”
ntmsmgr.msc 移动存储管理器
ntmsoprq.msc 移动存储管理员操作请求
netstat-an(tc)命令检查接口
syncapp 创建一个公文包
sysedit 系统配置编辑器
sigverif 文件签名验证程序
sndrec32 录音机
shrpubw 创建共享文件夹
secpol.msc 本地安全策略
syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重密码
services.msc 本地服务设置 sndvol32 音量控制程序
sfc.exe 系统文件检查器
sfc /scannow windows文件保护 tsshutdn 60秒倒计时关机命令
tourstart xp简介(安装完成后出现的漫游xp程序)
taskmgr 任务管理器
eventvwr 事件查看器
eudcedit 造字程序
explorer 打开资源管理器
packager 对象包装程序
perfmon.msc 计算机性能监测程序
progman 程序管理器
regedit.exe 注册表
rsop.msc 组策略结果集
regedt32 注册表编辑器
rononce-p 15秒关机
regsvr32 /u *.dll 停止dll文件运行
regsvr32 /u zipfldr.dll 取消zip支持
cmd.exe cmd命令提示符
chkdsk.exe chkdsk磁盘检查
certmgr.msc 证书管理实用程序
calc 启动计算器
charmap 启动字符映射表
cliconfg sql server 客户端网络实用程序
clipbrd 剪贴板查看器
conf 启动netmeeting
compmgmt.msc 计算机管理
cleanmgr 垃圾整理
ciadv.msc 索引服务程序
osk 打开屏幕键盘
odbcad32 odbc数据源管理器
oobe/msoobe /a 检查xp是否激活
lusrmgr.msc 本机用户和组
logoff 注销命令
iexpress 木马捆绑工具,系统自带
nslookup ip地址侦测器
fsmgmt.msc 共享文件夹管理器
utilman 辅助工具管理器
gpedit.msc 组策略
以下为Windows操作系统的常用运行命令,执行这些命令,就能打开系统对应的相关实用程序,如果大家能基本利用,就能检查并修复系统的最基本的故障,除注销,关闭系统命令外,其它所有命令,大家不妨一试!
运行“输入CMD”输入对应的相关实用程序:
.打开C:\Documents and Settings\XXX(当前登录Windows XP的用户名)..打开Windows XP所在的盘符下的Documents and Settings文件夹...打开“我的电脑”选项。
accwiz.exe 辅助工具向导
actmovie.exe 直接显示安装工具
append.exe 允许程序打开制定目录中的数据
arp.exe 显示和更改计算机的IP与硬件物理地址的对应列表
at.exe 计划运行任务
atmadm.exe ATM调用管理器统计
attrib.exe 显示和更改文件和文件夹属性
autochk.exe 检测修复文件系统(XP不可用)
autoconv.exe 在启动过程中自动转化系统(XP不可用)autofmt.exe 在启动过程中格式化进程(XP不可用)autolfn.exe 使用长文件名格式(XP不可用)
arp.exe 显示和更改计算机的IP与硬件物理地址的对应
calc.exe 计算器
Bootvrfy.exe 通报启动成功
cacls.exe 显示和编辑ACL cdplayer.exe CD播放器
change.exe 与终端服务器相关的查询(XP不可用)charmap.exe 字符映射表
chglogon.exe 启动或停用会话记录(XP不可用)chgport.exe 改变端口(终端服务)(XP不可用)chgusr.exe 改变用户(终端服务)(XP不可用)chkdsk.exe 磁盘检测程序
chkntfs.exe NTFS磁盘检测程序
cidaemon.exe 组成Ci文档服务
cipher.exe 在NTFS上显示或改变加密的文件或目录
cisvc.exe 打开索引内容
ckcnv.exe 变换Cookie cleanmgr.exe 磁盘清理
cliconfg.exe SQL客户网络工具
clipbrd.exe 剪贴簿查看器
clipsrv.exe 运行Clipboard服务
clspack.exe 建立系统文件列表清单
cluster.exe 显示域的集群(XP不可用)cmd.exe 进2000“XP DOS
cmdl32.exe 自动下载连接管理
cmmgr32.exe 连接管理器
cmmon32.exe 连接管理器监视
cmstp.exe 连接管理器配置文件安装程序
comclust.exe 集群
comp.exe 比较两个文件和文件集的内容
conf 启动netmeeting聊天工具
control userpasswords2 XP密码管理.compmgmt.msc 计算机管理 cprofile.exe 转换显示模式(XP不可用)
开始,运行,输入CMD”输入net config workstation计算机名 “完整的计算机名”用户名
工作站处于活动状态(即网络描述)“软件版本(即软件版本号)”工作站域 工作站域的 DNS 名称
登录域 “COM 打开时间超时(秒)”COM 发送量(字节)“COM 发送超时(msec)CMD”输入net config workstation 更改可配置工作站服务设置。
CMD“输入net config server 可以显示不能配置的下服务器计算机名 ”服务器注释 “服务器版本(即软件版本号)
服务器处于活动状态(即网络描述)”服务器处于隐藏状态(即 /hidden 设置)
最大登录用户数(即可使用服务器共享资源的最大用户数)
每个会话打开文件的最大数(即用户可在一个会话中打开服务器文件的最大数)
空闲会话时间(最小值)
chkdsk.exe 磁盘检查.Chkdsk /r 2000命令控制台中的Chkdsk /r命令检查修复系统文件
cleanmgr 垃圾整理
Clipbrd 剪贴板查看器
C:boot.ini 打开启动菜单
compact.exe 显示或改变NTFS分区上文件的压缩状态
conime.exe IME控制台
control.exe 控制面板
convert.exe NTFS 转换文件系统到NTFS
convlog.exe 转换IIS日志文件格式到NCSA格式
cprofile.exe 转换显示模式
cscript.exe 较本宿主版本
csrss.exe 客户服务器Runtime进程(XP不可用)csvde.exe 格式转换程序(XP不可用)dcpromo 活动目录安装(XP不可用)drwtsn32 系统医生
diskmgmt.msc 磁盘管理器(和PowerQuest PartitionMagic 8.0)dvdplay DVD 播放器
devmgmt.msc 设备管理器(检查电脑硬件,驱动)dxdiag 检查DirectX信息
dcomcnfg.exe DCOM配置属性(控制台根目录)dcpromo.exe 安装向导(XP不可用)ddeshare.exe DDE共享
debug.exe 检查DEBUG
dfrgfat.exe FAT分区磁盘碎片整理程序
dfrgntfs.exe NTFS分区磁盘碎片整理程序(XP不可用)dfs_cmd_.exe 配置DFS树(XP不可用)
dfsinit.exe 分布式文件系统初始化(XP不可用)dfssvc.exe 分布式文件系统服务器(XP不可用)diantz.exe 制作CAB文件
diskperf.exe 磁盘性能计数器
dmremote.exe 磁盘管理服务的一部分(XP不可用)doskey.exe 命令行创建宏
dosx.exe DOS扩展
dplaysvr.exe 直接运行帮助(XP不可用)drwatson.exe 华生医生错误检测
drwtsn32.exe 华生医生显示和配置管理
dvdplay.exe DVD播放
dxdiag.exe Direct-X诊断工具
edlin.exe 命令行的文本编辑
esentutl.exe MS数据库工具
eudcedit.exe 造字程序
eventvwr.exe 事件查看器
exe2bin.exe 转换EXE文件到二进制
expand.exe 解压缩
extrac32.exe 解CAB工具
fsmgmt.msc 共享文件夹
fastopen.exe 快速访问在内存中的硬盘文件
faxcover.exe 传真封面编辑
faxqueue.exe 显示传真队列
faxsend.exe 发送传真向导
faxsvc.exe 启动传真服务
fc.exe 比较两个文件的不同
find.exe 查找文件中的文本行
findstr.exe 查找文件中的行
finger.exe 一个用户并显示出统计结果
fixmapi.exe 修复MAPI文件
flattemp.exe 允许或者禁用临时文件目录(XP不可用)fontview.exe 显示字体文件中的字体
forcedos.exe 强制文件在DOS模式下运行
ftp.exe FTP下载
gpedit.msc 组策略
gdi.exe 图形界面驱动
grpconv.exe 转换程序管理员组
hostname.exe 显示机器的Hostname Internat 输入法图标
iexpress 木马捆绑工具,系统自带
ieshwiz.exe 自定义文件夹向导
iexpress.exe iexpress安装包
iisreset.exe 重启IIS服务(未安装IIS,不可用)internat.exe 键盘语言指示器(XP不可用)ipconfig.exe 查看IP配置
ipsecmon.exe IP安全监视器
ipxroute.exe IPX路由和源路由控制程序
irftp.exe 无线连接
ismserv.exe 安装或者删除Service Control Manager中的服务 jdbgmgr.exe Java4的调试器
jetconv.exe 转换Jet Engine数据库(XP不可用)jetpack.exe 压缩Jet数据库(XP不可用)jview.exe Java的命令行装载者
label.exe 改变驱动器的卷标
lcwiz.exe 许可证向导(XP不可用)
ldifde.exe LDIF目录交换命令行管理(XP不可用)licmgr.exe 终端服务许可协议管理(XP不可用)lights.exe 显示连接状况(XP不可用)
llsmgr.exe Windows 2000 许可协议管理(XP不可用)llssrv.exe 启动许可协议服务器(XP不可用)locator.exe RPC Locator 远程定位
lodctr.exe 调用性能计数
logoff.exe 注销当前用户
lpq.exe 显示远端的LPD打印队列的状态,显示被送到基于Unix的服务器的打印任务
lpr.exe 用于Unix客户打印机将打印任务发送给连接了打印设备的NT的打印机服务器。
lsass.exe 运行LSA和Server的DLL
lserver.exe 指定默认Server新的DNS域(XP不可用)lusrmgr.msc 本地账户管理
mmc 控制台
mplayer2 播放器
macfile.exe 管理MACFILES(XP不可用)magnify.exe 放大镜
makecab.exe 制作CAB文件
mem.exe 显示内存状态
migpwd.exe 迁移密码
mmc.exe 控制台
mnmsrvc.exe 远程桌面共享
mobsync.exe 同步目录管理器
mountvol.exe 创建、删除或列出卷的装入点。
mplay32.exe Media Player 媒体播放器
mpnotify.exe 通知应用程序
mqbkup.exe 信息队列备份和恢复工具
mqmig.exe MSMQ Migration Utility 信息队列迁移工具
mrinfo.exe 使用SNMP多点传送路由
mscdexnt.exe 安装MSCD
msdtc.exe 动态事务处理控制台
msg.exe 发送消息到本地或远程客户
mshta.exe HTML应用程序主机
msiexec.exe 开始Windows安装程序
mspaint.exe 打开画图板
mstask.exe 任务计划表程序
mstinit.exe 任务计划表安装
Msconfig.exe 系统配置实用程序(配置启动选项,服务项)mem.exe 显示内存使用情况
mspaint 画图板
Net Stop Messenger 停止信使服务
Net Start Messenger 恢复信使服务
nslookup 网络管理的工具
Nslookup IP 地址侦测器
ntbackup 系统备份和还原
nbtstat.exe 使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。
nddeapir.exe NDDE API服务器端
netsh.exe 用于配置和监控 Windows 2000 命令行脚本接口(XP不可用)netstat.exe 显示协议统计和当前的 TCP/IP 网络连接。
nlsfunc.exe 加载特定国家的信息。Windows 2000 和 MS-DOS 子系统不使用该命令接受该命令只是为了与 MS-DOS 文件兼容。
notepad.exe 打开记事本
nslookup.exe 该诊断工具显示来自域名系统(DNS)名称服务器的信息。
ntbackup.exe 备份和故障修复工具
ntfrs.exe NT文件复制服务(XP不可用)ntvdm.exe 模拟16位Windows环境
nw16.exe NetWare转向器
nwscript.exe 运行Netware脚本
odbcad32.exe 32位ODBC数据源管理(驱动程序管理)odbcconf.exe 命令行配置ODBC驱动和数据源
packager.exe 对象包装程序
pathping.exe 包含Ping和Tracert的程序
pentnt.exe 检查Pentium的浮点错误
perfmon.exe 系统性能监视器
ping.exe 验证与远程计算机的连接
posix.exe 用于兼容Unix
print.exe 打印文本文件或显示打印队列的内容。
progman.exe 程序管理器
psxss.exe Posix子系统应用程序
qappsrv.exe 在网络上显示终端服务器可用的程序
qprocess.exe 在本地或远程显示进程的信息(需终端服务)
query.exe 查询进程和对话(XP不可用)
quser.exe 显示用户登陆的信息(需终端服务)
qwinsta.exe 显示终端服务的信息
rononce-p 15秒关机
rasAdmin 远程访问服务.regedit.exe 注册表编辑器
rasadmin.exe 启动远程访问服务(XP不可用)rasautou.exe 建立一个RAS连接
rasdial.exe 宽带,拨号连接
ras.exe 运行RAS连接(XP不可用)
rcp.exe 计算机和运行远程外壳端口监控程序 rshd 的系统之间复制文件 rdpclip.exe 终端和本地复制和粘贴文件
recover.exe 从坏的或有缺陷的磁盘中恢复可读取的信息。
redir.exe 运行重定向服务
regedt32.exe 32位注册服务
regini.exe 用脚本修改注册许可
regwiz.exe 注册向导
replace.exe 用源目录中的同名文件替换目标目录中的文件。
rexec.exe rexec 命令在执行指定命令前,验证远程计算机上的用户名,只有安装了 TCP/IP 协议后才可以使用该命令。
risetup.exe 运行远程安装向导服务(XP不可用)route.exe 控制网络路由表
rsh.exe 在运行 RSH 服务的远程计算机上运行命令
rsnotify.exe 远程存储通知回显
runas.exe 允许用户用其他权限运行指定的工具和程序
rundll32.exe 启动32位DLL程序
rwinsta.exe 重置会话子系统硬件和软件到最初的值
Sndvol32 音量控制程序
sfc.exe 或CMD“ sfc.exe 回车 系统文件检查器
services.msc 网络连接服务
syskey 系统加密,(一旦加密就不能解开,保护windows xp系统的双重密码wupdmgr WIDNOWS UPDATE)
SCANREG/RESTORE 命令恢复最近的注册表
secedit.exe 自动化安全性配置管理
services.exe 控制所有服务
sethc.exe 设置高对比
setver.exe 设置 MS-DOS 子系统向程序报告的 MS-DOS 版本号
sfc.exe 系统文件检查
shadow.exe 监控另外一台中端服务器会话
shrpubw.exe 建立和共享文件夹
sigverif.exe 文件签名验证
smlogsvc.exe 性能日志和警报(XP不可用)sndrec32.exe 录音机
sndvol32.exe 显示声音控制信息
snmp.exe 简单网络管理协议(XP不可用)snmptrap.exe SNMP工具(XP不可用)srvmgr.exe 服务器管理器(XP不可用)subst.exe 将路径与驱动器盘符关联
sysedit.exe 系统配置编辑器
syskey.exe NT账号数据库加密工具
sysocmgr.exe > Windows 安装程序
systray.exe 在低权限运行systray taskmgr 任务管理器
tasklist /svc(CMD)了解每个SVCHOST进程到底提供了多少系统服务(2000”98不可用)tlist-S(CMD)了解每个SVCHOST进程到底提供了多少系统服务(taskman.exe 任务管理器(XP不可用)taskmgr.exe 任务管理器
tcmsetup.exe 电话服务客户安装
tcpsvcs.exe TCP服务
termsrv.exe 终端服务
tftp.exe 将文件传输到正在运行 TFTP 服务的远程计算机或从正在运行 TFTP 服务的远程计算机传输文件
themes.exe 桌面主题(XP不可用)
tlntadmn.exe Administrator Telnet服务管理
tlntsess.exe 显示目前的Telnet会话
tlntsvr.exe 开始Telnet服务
tracert.exe 诊断实用程序将包含不同生存时间(TTL)值的 Internet 控制消息协议(ICMP)回显数据包发送到目标,以决定到达目标采用的路由
tsadmin.exe Administrator 终端服务管理器(XP不可用)tscon.exe 粘贴用户会话到终端对话
tsdiscon.exe 断开终端服务的用户
tskill.exe 杀掉终端服务
tsprof.exe 用终端服务得出查询结果
tsshutdn.exe 关闭系统
unlodctr.exe 性能监视器的一部分
upg351db.exe 升级Jet数据库(XP不可用)ups.exe UPS service UPS服务
user.exe Windows核心服务
userinit.exe 打开我的文档
usrmgr.exe 域用户管理器
utilman.exe 指定2000启动时自动打开那台机器
vwipxspx.exe 调用IPX/SPX VDM w32tm.exe 时间服务器
wextract.exe 解压缩Windows文件
winchat.exe 打开Windows聊天工具
winhlp32.exe 运行帮助系统
winmsd.exe 查看系统信息
winver.exe 显示Windows版本
wizmgr.exe Windows管理向导(XP不可用)wjview.exe Java 命令行调用Java write.exe 打开写字板
wscript.exe 脚本工具
wupdmgr.exe Windows update 运行Windows update升级向导
winver 检查Windows版本
Win98系统工具
开始,运行,输入Msconfig 系统配置实用工具 配置启动选项,包括config.sys、autoexec.bat、win.ini、system.ini和注册表及程序菜单中的启动项。并可设置是否故障启动。
开始,运行,输入Regedit 注册表修改工具注册表编辑器,如果没有把握不要随意修改注册表!
开始,运行,输入Regsvr32 dll注册工具当提示找不到dll文件时,可用此来注册该动态连接库。开始,运行,输入Regwiz 注册向导 用于注册。校验系统文件,并可恢复系统文件。
如果启动时出现类似*.vxd文件错误,可用此恢复该vxd文件。
开始,运行,输入Scandskw 磁盘扫描程序,用于扫描修复磁盘。如果磁盘或文件出现错误,可用来初步修复。
开始,运行,输入DxDiag DirectX诊断工具可用于检测DirectX运行是否正常。
开始,运行,输入NETSCAPE ESC:清除当前命令行;
F7:显示命令历史记录,以图形列表窗的形式给出所有曾经输入的命令,并可用上下箭头键选择再次执行该命令。
F8:搜索命令的历史记录,循环显示所有曾经输入的命令,直到按下回车键为止;
F9:按编号选择命令,以图形对话框方式要求您输入命令所对应的编号(从0开始),并将该命令显示在屏幕上;
Ctrl+H:删除光标左边的一个字符;
Ctrl+C Ctrl+Break,强行中止命令执行;
Ctrl+M:表示回车确认键;
Alt+F7:清除所有曾经输入的命令历史记录;
Alt+PrintScreen:截取屏幕上当前命令窗里的内容。
病毒破坏了系统文件,请使用杀毒软件查杀病毒,然后利用Windows 2000提供的“命令控制台”中的Chkdsk /r命令检查修复系统文件即可。
cd命令,用来改变当前目录。
1.功能:改变当前目录
2.类型:内部命令
3.格式:cd[盘符:][路径名][子目录名]
4.使用说明:
(1)如果省略路径和子目录名则显示当前目录;
(2)如采用“cd”格式,则退回到根目录;
(3)如采用“cd..”格式则退回到上一级目录。
例:(1)进入到user子目录;(2)从user子目录退回到子目录;(3)返回到根目录。
c:>cd foxuser(进入fox子目录下的user子目录)
c:foxuser>cd..(退回上一级根目录,注意cd后面跟着两个点“..”)。
c:fox>cd(返回到根目录)
c: d: e:
第三篇:【干货】Windows批处理(cmdbat)常用命令小结
【干货】Windows批处理(cmdbat)常用命令小结
前言
批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效。在Windows中善用批处理可以简化很多重复工作 什么是批处理
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为bat。目前比较常见 的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。这里要讲的就是DOS批处理。
批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。
系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。批处理命令简介echorempausecallstartgotoset 批处理符号简介
回显屏蔽 @重定向1 >与>>重定向2 管道符号 |转义符 ^逻辑命令符包括:&、&&、||常用DOS命令文件夹管理cd 显示当前目录名或改变当前目录。md 创建目录。rd 删除一个目录。dir 显示目录中的文件和子目录列表。tree 以图形显示驱动器或路径的文件夹结构。path 为可执行文件显示或设置一个搜索路径。xcopy 复制文件和目录树。
文件管理type 显示文本文件的内容。copy 将一份或多份文件复制到另一个位置。del 删除一个或数个文件。move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)ren 重命名文件。replace 替换文件。attrib 显示或更改文件属性。find 搜索字符串。fc 比较两个文件或两个文件集并显示它们之间的不同
网络命令ping 进行网络连接测试、名称解析ftp 文件传输net 网络命令集及用户管理telnet 远程登陆ipconfig显示、修改TCP/IP设置msg 给用户发送消息arp 显示、修改局域网的IP地址-物理地址映射列表
系统管理at 安排在特定日期和时间运行命令和程序shutdown立即或定时关机或重启tskill 结束进程taskkill结束进程(比tskill高级,但WinXPHome版中无该命令)tasklist显示进程列表(Windows XP Home Edition中没有)sc 系统服务设置与控制reg 注册表控制台工具powercfg控制系统上的电源设置
对于以上列出的所有命令,在cmd中输入命令+/?即可查看该命令的帮助信息。如find /? Windows Batch 常用命令 echo 和 @回显命令@
#关闭单行回显echo off
#从下一行开始关闭回显@echo off
#从本行开始关闭回显。一般批处理第一行都是这个echo on
#从下一行开始打开回显echo
#显示当前是 echo off 状态还是 echo on 状态echo.#输出一个”回车换行”,空白行
#(同echo, echo;echo+ echo[ echo] echo/ echo)2 errorlevelecho %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码默认值为0,一般命令执行出错会设 errorlevel 为1 3 dir显示文件夹内容dir
#显示当前目录中的文件和子目录dir /a
#显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d
#显示 C 盘当前目录中的目录dir c: /a:-d
#显示 C 盘根目录中的文件dir c: /b/p
#/b只显示文件名,/p分页显示dir *.exe /s
#显示当前目录和子目录里所有的.exe文件 cd切换目录cd
#进入根目录cd
#显示当前目录cd /d d:sdk
#可以同时更改盘符和目录 md创建目录md d:abc
#如果 d:a 不存在,将会自动创建中级目录#如果命令扩展名被停用,则需要键入 mkdir abc。rd删除目录rd abc
#删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:temp
#删除 d:temp 文件夹及其子文件夹和文件,/q安静模式 7 del删除文件del d:test.txt
#删除指定文件,不能是隐藏、系统、只读文件del /q/a/f d:temp*.*删除 d:temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:temp*.*删除 d:temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录 8 ren重命名命令ren d:temp tmp
#支持对文件夹的重命名 9 cls清屏 type显示文件内容type c:boot.ini
#显示指定文件的内容,程序文件一般会显示乱码type *.txt
#显示当前目录里所有.txt文件的内容 copy拷贝文件copy c:test.txt d:test.bak复制 c:test.txt 文件到 d:,并重命名为 test.bakcopy 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.txtcopy test.txt +复制文件到自己,实际上是修改了文件日期 12 title设置cmd窗口的标题title 新标题
#可以看到cmd窗口的标题栏变了 13 ver显示系统版本 label 和 vol设置卷标vol
#显示卷标label
#显示卷标,同时提示输入新卷标label c:system
#设置C盘的卷标为 system 15 pause暂停命令 rem 和 ::注释命令注释行不执行操作 date 和 time日期和时间date
#显示当前日期,并提示输入新日期,按'回车'略过输入date/t
#只显示当前日期,不提示输入新日期time
#显示当前时间,并提示输入新时间,按'回车'略过输入time/t
#只显示当前时间,不提示输入新时间 goto 和 :跳转命令:label
#行首为:表示该行是标签行,标签行不执行操作goto label
#跳转到指定的标签那一行 find(外部命令)查找命令find 'abc' c:test.txt在 c:test.txt 文件里查找含 abc 字符串的行如果找不到,将设 errorlevel 返回码为1find /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盘的文件目录结构 &顺序执行多条命令,而不管命令是否执行成功 23 &&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令find 'ok' c:test.txt && echo 成功如果找到了'ok'字样,就显示'成功',找不到就不显示 ||顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令find 'ok' c:test.txt || echo 不成功如果找不到'ok'字样,就显示'不成功',找到了就不显示 |管道命令dir *.* /s/a | find /c '.exe'管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数type c:test.txt|more这个和 more c:test.txt 的效果是一样的 26 > 和 >>输出重定向命令> 清除文件中原有的内容后再写入>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件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 offecho 2005-05-01>temp.txtdate del temp.txt这样就可以不等待输入直接修改当前日期 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令行传递给批处理的参数%0 批处理文件本身%1 第一个参数%9 第九个参数%* 从第一个参数开始的所有参数
批参数(%n)的替代已被增强。您可以使用以下语法:
%~1
查找列在 PATH 环境变量的目录,并将 %1
扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串 可以组合修定符来取得多重结果:
%~dp1
只将 %1 扩展到文件名和扩展名
%~dp$PATH:1将 %1 扩展到类似 DIR 的输出行。可以参照 call/? 或 for/? 看出每个参数的含意echo load '%%1' '%%2'>c:test.txt生成的文件内容为 load '%1' '%2'批处理文件里,用这个格式把命令行参数输出到文件 if判断命令if '%1'=='/a' echo 第一个参数是/aif /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文件夹)if exist c:test.bat(echo 存在c:test.bat)else(echo 不存在c:test.bat)30 setlocal 和 endlocal设置”命令扩展名”和”延缓环境变量扩充”SETLOCAL ENABLEEXTENSIONS
#启用'命令扩展名'SETLOCAL DISABLEEXTENSIONS
#停用'命令扩展名'SETLOCAL ENABLEDELAYEDEXPANSION
#启用'延缓环境变量扩充'SETLOCAL DISABLEDELAYEDEXPANSION
#停用'延缓环境变量扩充'ENDLOCAL
#恢复到使用SETLOCAL语句以前的状态“命令扩展名”默认为启用“延缓环境变量扩充”默认为停用批处理结束系统会自动恢复默认值可以修改注册表以禁用'命令扩展名',详见 cmd /?。所以用到'命令扩展名'的程序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确保程序能在其它系统上正确运行'延缓环境变量扩充'主要用于 if 和 for 的符合语句,在 set 的说明里有其实用例程
set设置变量引用变量可在变量名前后加 %,即 %变量名%set
#显示目前所有可用的变量,包括系统变量和自定义的变量echo %SystemDrive%
#显示系统盘盘符。系统变量可以直接引用set p
#显示所有以p开头的变量,要是一个也没有就设errorlevel=1set p=aa1bb1aa2bb2
#设置变量p,并赋值为 = 后面的字符串,即aa1bb1aa2bb2echo %p%
#显示变量p代表的字符串,即aa1bb1aa2bb2echo %p:~6%
#显示变量p中第6个字符以后的所有字符,即aa2bb2echo %p:~6,3%
#显示第6个字符以后的3个字符,即aa2echo %p:~0,3%
#显示前3个字符,即aa1echo %p:~-2%
#显示最后面的2个字符,即b2echo %p:~0,-2%
#显示除了最后2个字符以外的其它字符,即aa1bb1aa2becho %p:aa=c%
#用c替换变量p中所有的aa,即显示c1bb1c2bb2echo %p:aa=%
#将变量p中的所有aa字符串置换为空,即显示1bb12bb2echo %p:*bb=c%
#第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2set p=%p:*bb=c%
#设置变量p,赋值为 %p:*bb=c%,即c1aa2bb2set /a p=39
#设置p为数值型变量,值为39set /a p=39/10
#支持运算符,有小数时用去尾法,39/10=3.9,去尾得3,p=3set /a p=p/10
#用 /a 参数时,在 = 后面的变量可以不加%直接引用set /a p=”1&0″
#”与”运算,要加引号。其它支持的运算符参见set/?set p=
#取消p变量set /p p=请输入屏幕上显示”请输入”,并会将输入的字符串赋值给变量p注意这条可以用来取代 choice 命令注意变量在 if 和 for 的复合语句里是一次性全部替换的,如@echo offset p=aaaif %p%==aaa(echo %p%
set p=bbb
echo %p%)结果将显示aaaaaa因为在读取 if 语句时已经将所有 %p% 替换为aaa这里的'替换',在 /? 帮助里就是指'扩充'、'环境变量扩充'可以启用”延缓环境变量扩充”,用!来引用变量,即!变量名!@echo offSETLOCAL ENABLEDELAYEDEXPANSIONset p=aaaif %p%==aaa(echo %p%
set p=bbb
echo!p!)ENDLOCAL结果将显示aaabbb还有几个动态变量,运行 set 看不到%CD%
#代表当前目录的字符串%DATE%
#当前日期%TIME%
#当前时间%RANDOM%
#随机整数,介于0~32767%ERRORLEVEL%
#当前 ERRORLEVEL 值%CMDEXTVERSION%
#当前命令处理器扩展名版本号%CMDCMDLINE%
#调用命令处理器的原始命令行可以用echo命令查看每个变量值,如 echo %time%注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到
start批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令
call批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行有时有的应用程序用start调用出错的,也可以call调用
choice(外部命令)选择命令让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel为1234……win98里是choice.comwin2000pro里没有,可以从win98里拷过来win2003里是choice.exechoice /N /C y /T 5 /D y>nul延时5秒 35 assoc 和 ftype文件关联assoc 设置'文件扩展名'关联,关联到'文件类型'ftype 设置'文件类型'关联,关联到'执行程序和参数'当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开而是先判断.txt属于 txtfile '文件类型'再调用 txtfile 关联的命令行
txtfile=%SystemRoot%system32NOTEPAD.EXE %1可以在'文件夹选项'→'文件类型'里修改这2种关联assoc
#显示所有'文件扩展名'关联assoc.txt
#显示.txt代表的'文件类型',结果显示.txt=txtfileassoc.doc
#显示.doc代表的'文件类型',结果显示.doc=Word.Document.8assoc.exe
#显示.exe代表的'文件类型',结果显示.exe=exefileftype
#显示所有'文件类型'关联ftype exefile
#显示exefile类型关联的命令行,结果显示
exefile='%1' %*assoc.txt=Word.Document.8设置.txt为word类型的文档,可以看到.txt文件的图标都变了assoc.txt=txtfile恢复.txt的正确关联ftype exefile='%1' %*恢复 exefile 的正确关联如果该关联已经被破坏,可以运行 command.com,再输入这条命令
pushd 和 popd切换当前目录@echo offc: & cd & md mp3
#在 C: 建立 mp3 文件夹md d:mp4
#在 D: 建立 mp4 文件夹cd /d d:mp4
#更改当前目录为 d:mp4pushd c:mp3
#保存当前目录,并切换当前目录为 c:mp3popd
#恢复当前目录为刚才保存的 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表示每次加1for /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 38 subst(外部命令)映射磁盘。subst z: serverd
#这样输入z:就可以访问serverd了subst z: /d
#取消该映射subst
#显示目前所有的映时
xcopy(外部命令)文件拷贝xcopy d:mp3 e:mp3 /s/e/i/y复制 d:mp3 文件夹、所有子文件夹和文件到 e:,覆盖已有文件加 /i 表示如果 e: 没有 mp3 文件夹就自动新建一个,否则会有询问
第四篇:dos 批处理命令_forfiles
dos 批处理命令(forfiles)
Windows Server 2003内置的命令行文件,不适合于XP系统
1.用批处理文件删除当前目录下 7 天以前的扩展名为bkf文件(以当前系统时间为基准)
示例: forfiles /m *.bkf /d-7 /c “cmd /c del @file /f”
2.forfiles 自动删除7天前文件(以当前系统时间为基准)
示例: forfiles /p “d:test” /s /m *.* /d-7 /c “cmd /c del @path”
d:test换成你要的目录路径;/d-7 指删除7天以前文件。
3.删除所有的空目录(以删除d:test目录下为例):
dir /ad/b/s d:test |sort /r >d:kill.txt
For /f “tokens=*” %%i in(d:kill.txt)DO rd “%%i”
del d:kill.txt
4.先删7 天以前文件,再删所有的空目录;把以下复制到bat文件中。@echo off
forfiles /p “d:test” /s /m *.* /d-7 /c “cmd /c del @path”
dir /ad/b/s d:test |sort /r >d:kill.txt
For /f “tokens=*” %%i in(d:kill.txt)DO rd “%%i”
del d:kill.txt
5.forfiles 命令的用法及参数:
forfiles /p <目标目录名> /d <天数> /c <执行的命令>
/p 指定了要在哪个目录里查找文件,默认是当前工作目录。
/d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。/c 对每个找到的文件执行的命令。
例1.要把在C盘根目录下最后修改日期大于或等于2010年1月7日的文件复制到D盘根目录下:
forfiles /p “c:” /d “2007-7-1” /c “cmd /c copy @path d:”
例2.删除在C盘backup目录下最后修改日期在10天前的文件:
forfiles /p “c:backup” /d-10 /c “cmd /c echo deleting @file...&& del /f @path”
6.forfiles /p 包含要删除文件的完整路径(如:F:Logfiles)/m *.log-d-7 /c “cmd /c del /f
@path”
解释一下相关参数及命令
/p
: 指定开始搜索文件的位置,如果不指定则默认为当前目录。/m
如“manmee_*.log”这样以manmee开头的所有日志文件。如果不指定此参数则默认为“*.*”。
/d [{+|-}][{
天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:“/d-01/7/2010”这样所有早于2010年
1月7日的文件。注意指定的时间必须是“MM/DD/YYYY”的格式。
/c 对所有文件以此执行指定的命令,命令体须在双引号(“)内,默认是”cmd /c echo @file“。上文中用
到的是”cmd /c del /f @path“删除指定文件。(这里的@file 和 @path 为变量,下文中将解释。)
下面说一下上文中用到的参数:
@PATH : 表示文件的完整的路径。
@File : 表示文件名称。
接下来我们看看删除文件夹的操作,如果你看了上面的介绍,相信这命令你一看就能看懂。
forfiles /p 包含文件夹的路径(如:F:)/m 文件夹名称(如:LogFiles)-d 0 /c ”cmd /c if @ISDIR
== true rd /s/q @path“
注意这里的”包含文件夹的路径“不能包含要删除的文件夹,如以上代码所表示的就是,在F盘中查找名为
LogFiles的文件或文件夹(不能指定查找文件夹,不过在删除时我们做了判断)。还有就是这里出现了一个新的参数”@ISDIR“他用于判断当前文件类型是否是”文件夹类型“,如果是则为
true否则为false。
相信到这大家就明白了,最后再将代码保存为批处理文件,然后加入计划任务定期执行即可。
看了上面的例子,觉得在 Windows Server 2003 下面要删除老文件很简单吧。但如果操作系统是 Windows 2000/XP 就比较麻烦,因为它们没有forfiles命令,只能靠自己写批处理来
实现了。
下面是我写的批处理文件内容:
@echo off
rem ******************************
rem * 按时间删除文件目录的批处理 *
rem ******************************
rem 设置临时目录的路径
set tempDir=%tmp%remove_%date:~0,10%
if not exist %tempDir% md %tempDir%
rem 设置处理日期的脚本文件的路径
set scriptFile=%tempDir%get_date.vbs
rem 获得要保留的天数
set days=%~1
if ”%days%“ == ”“ goto printUsage
rem 获得目标目录的路径
set dirPath=%~2
if ”%dirPath%“ == ”“ set dirPath=.rem 获得要操作的文件形式
set fileSpec=%~3
if ”%fileSpec%“ == ”“ set fileSpec=*.*
rem 生成计算日期的脚本文件并获得删除的截止日期
echo d=date()-%1 > %scriptFile%
echo s=right(”0000“ ^& year(d),4)^& ”-“ ^& right(”00“ ^& month(d),2)^& ”-“ ^& right(”00“
^& day(d),2)>> %scriptFile%
echo wscript.echo s >> %scriptFile%
for /f %%i in('cscript /nologo %scriptFile%')do set lastDate=%%i
rem 处理目标目录里的每个对象
for /f ”tokens=1,2,3* delims=<> “ %%i in('dir ”%dirPath%%fileSpec%“ /a /-c /tc')do call
:proc ”%%i“ ”%%j“ ”%%k“ ”%%l“
goto :done
rem 处理目标目录里对象的过程
:proc
rem 获得对象的创建日期并判断是否为有效格式
set fileDate=%~1
echo %fileDate% | findstr ”[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]“ > nul if errorlevel 1 goto end
rem 获得对象的类型
set fileType=%~3
if ”%fileType%“ == ”“ goto end
rem 获得对象的名称
set fileName=%~4
if ”%fileName%“ == ”“ goto end
if ”%fileName%“ == ”.“ goto end
if ”%fileName%“ == ”..“ goto end
if ”%fileName%“ == ”字节“ goto end
if ”%fileName%“ == ”可用字节“ goto end
rem 判断对象日期是否小于或等于删除的截止日期
if ”%fileDate:~0,10%“ leq ”%lastDate%“(echo deleting ”%fileName%“...if ”%fileType%“ == ”DIR“(rd /s /q ”%dirPath%%fileName%“)else(del /q /f ”%dirPath%%
fileName%"))
goto end
:error
echo An error occurred during backuping.:done
rd /s /q %tempDir%
goto end
:printUsage
echo Usage: %0 ^
goto end
:end
主要是利用Windows的脚本功能来计算要删除文件的截止日期,然后for加dir命令来提取文件的日期进行
判断。
关于forfiles和for的详细信息,可以在Windows的帮助与支持中找到。
第五篇:批处理练习题
批处理实现两文本同行交替输出
有两个文本如下(实际中并不知道两文本各有多少行): 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg www.xiexiebang.come easy]
I should have known all along.There was something wrong.I just never read between the lines.Then I woke up one day and found you on your way.Leaving nothing but my heart behind.What can I do to make it up to you.Promises don't come easy.But tell me if there's a way to bring you back home to stay.Well I'd promises anything to you.I've been walkin' around with my head hanging down.Wondrin' what I'm gonna do.'Cause when you walked out that door.要求,CMD原始窗口中,不调节窗口大小,不生成临时文件,居中显示文本内容。输出如下: 代码: [Promise don't come easy] I should have known all along.There was something wrong.I just never read between the lines.Then I woke up one day and found you on your way.Leaving nothing but my heart behind.What can I do to make it up to you.Promises don't come easy.But tell me if there's a way to bring you back home to stay.Well I'd promises anything to you.I've been walkin' around with my head hanging down.Wondrin' what I'm gonna do.'Cause when you walked out that door.@echo off copy /y 1.txt 2.txt>nul echo.>>2.txt&echo end>>2.txt for /f “tokens=1,2* delims=: ” %%i in('findstr /n /o.* 2.txt')do(set “_%%i=%%j”&set “.%%i=%%k”
if %%i geq 2 call :lp %%i)del /q 2.txt&pause>nul&goto :eof :lp set /a n=%1-1 set /a num=_%1-_%n%-2 set /a kl=(80-num)/2 for /l %%i in(1,1,%kl%)do set /p= @echo off for /f “delims=” %%.in(1.txt)do(set “str=%%.” call,set “str=%%str:*a=%%” for /f “delims=a” %%{ in(“%%.”)do(set “var=%%{” call,echo.%%var:0=%%a%%str%%))pause>nul @echo off for /f “tokens=1,2 delims=a” %%i in(1.txt)do(if “%%j” neq “"(set ”str=%%i“ call,set ”str=%%str:0=%%" call,echo %%str%%a%%j)else(echo a%%i))pause>nul