标题: [文件操作] 怎样实现拖动文件到批处理图标? [打印本页]
作者: firewolf85 时间: 2008-12-12 15:50 标题: 怎样实现拖动文件到批处理图标?
请教关于拖动文件到批处理可以实现的操作,比如可以给哪些变量赋上哪些值。请高手赐教
作者: wxcute 时间: 2008-12-12 17:15
用例子来说明罢复制代码
拖放一个文件或目录到其上将会显示其完整路径。
这个批处理中标准参数就是 %1,代表的是拖入文件或目录的完整路径
其扩展的我们能用的可在 for /? 帮助中找到另外,FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩充到
空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
彩色部分是我们常用的,自己可以 echo 测试下到底是什么。
所以相应的文件全名就用 %~nx1 表示,也就是把字母 I 换成数字 1 就行了,
相应的 %0 和 %2 到 %9 这些可用参数也用同样的方式来表达。
[ 本帖最后由 wxcute 于 2008-12-12 17:17 编辑 ]
作者: tireless 时间: 2008-12-12 17:21
%* 代表后面的所有参数
作者: bakdfkuk 时间: 2009-3-2 10:35 标题: 参数是不是只能是1%???
上面的回答能解决问题,但是对于拖动这个批处理中,如果把参数换成了2%或j%就不能完成了,是不是支持拖动的批处理中只能用1%这个参数呢?
作者: bakdfkuk 时间: 2009-3-2 15:37 标题: 怎么m人进来呢?
怎么m人进来呢!!!
作者: Batcher 时间: 2009-3-2 15:45 标题: 回复 4楼 的帖子
%0代表批处理文件本身,%1代表第一个位置参数,%2代表第二个位置参数,依此类推。如果仍有疑问,可参考批处理基础教程。
假设批处理C:\test_1.bat内容如下复制代码
你可以在命令行窗口中执行
C:\test_1.bat hello_1 hello_2
将会得到结果:
test_1.bat hello_1 hello_2
另外一个例子:
test_2.bat- @echo off
- call :SubFunction bbs bathome net
- pause
- goto :eof
-
- :SubFunction
- echo 第一个参数:%1
- echo 第二个参数:%2
- echo 第三个参数:%3
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |