bat命令入门与高级技巧详解

2019-01-29 22:08:30刘景俊

assoc #显示所有#39;文件扩展名'关联
assoc .txt#显示.txt代表的#39;文件类型',结果显示 .txt=txtfile
assoc .doc#显示.doc代表的#39;文件类型',结果显示 .doc=Word.Document.8
assoc .exe#显示.exe代表的#39;文件类型',结果显示 .exe=exefile
ftype #显示所有#39;文件类型'关联
ftype exefile #显示exefile类型关联的命令行,结果显示 exefile="%1" %*
assoc .txt=Word.Document.8
设置.txt为word类型的文档,可以看到.txt文件的图标都变了
assoc .txt=txtfile
恢复.txt的正确关联

ftype exefile="%1" %*
恢复 exefile 的正确关联
如果该关联已经被破坏,可以运行 command.com ,再输入这条命令
12、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
一般用处不大,在当前目录名不确定时,会有点帮助。(dos编程中很有用)


13、CALL
CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理
CALL command
调用一条批处理命令,和直接执行命令效果一样,特殊情况下很有用,比如变量的多级嵌套,见教程后面。在批处理编程中,可以根据一定条件生成命令字符串,用call可以执行该字符串,见例子。
CALL [drive:][path]filename [batch-parameters]
调用的其它批处理程序。filename 参数必须具有 .bat 或 .cmd 扩展名。
CALL :label arguments
调用本文件内命令段,相当于子程序。被调用的命令段以标签:label开头
以命令goto :eof结尾。
另外,批脚本文本参数参照(%0、%1、等等)已如下改变:
批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)
批参数(%n)的替代已被增强。您可以使用以下语法:(看不明白的直接运行后面的例子)
%~1 - 删除引号("),扩充 %1
%~f1- 将 %1 扩充到一个完全合格的路径名
%~d1- 仅将 %1 扩充到一个驱动器号
%~p1- 仅将 %1 扩充到一个路径
%~n1- 仅将 %1 扩充到一个文件名
%~x1- 仅将 %1 扩充到一个文件扩展名
%~s1- 扩充的路径指含有短名
%~a1- 将 %1 扩充到文件属性
%~t1- 将 %1 扩充到文件的日期/时间
%~z1- 将 %1 扩充到文件的大小
%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1
扩充到找到的第一个完全合格的名称。如果环境
变量名未被定义,或者没有找到文件,此组合键会
扩充到空字符串
可以组合修定符来取得多重结果:
%~dp1 - 只将 %1 扩展到驱动器号和路径
相关文章 大家在看