找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35808|回复: 5

[文件操作] 怎样实现拖动文件到批处理图标?

[复制链接]
发表于 2008-12-12 15:50:27 | 显示全部楼层 |阅读模式
请教关于拖动文件到批处理可以实现的操作,比如可以给哪些变量赋上哪些值。请高手赐教
发表于 2008-12-12 17:15:59 | 显示全部楼层
用例子来说明罢
  1. @echo off
  2. echo %1
  3. pause
复制代码
拖放一个文件或目录到其上将会显示其完整路径。
这个批处理中标准参数就是 %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 编辑 ]

评分

参与人数 1PB +4 收起 理由
firewolf85 + 4 感谢

查看全部评分

发表于 2008-12-12 17:21:54 | 显示全部楼层
%* 代表后面的所有参数
发表于 2009-3-2 10:35:45 | 显示全部楼层

参数是不是只能是1%???

上面的回答能解决问题,但是对于拖动这个批处理中,如果把参数换成了2%或j%就不能完成了,是不是支持拖动的批处理中只能用1%这个参数呢?
发表于 2009-3-2 15:37:38 | 显示全部楼层

怎么m人进来呢?

怎么m人进来呢!!!
发表于 2009-3-2 15:45:52 | 显示全部楼层

回复 4楼 的帖子

%0代表批处理文件本身,%1代表第一个位置参数,%2代表第二个位置参数,依此类推。如果仍有疑问,可参考批处理基础教程。

假设批处理C:\test_1.bat内容如下
  1. @echo off
  2. echo %0 %1 %2
复制代码
你可以在命令行窗口中执行
C:\test_1.bat hello_1 hello_2

将会得到结果:
test_1.bat hello_1 hello_2

另外一个例子:
test_2.bat
  1. @echo off
  2. call :SubFunction bbs bathome net
  3. pause
  4. goto :eof

  5. :SubFunction
  6. echo 第一个参数:%1
  7. echo 第二个参数:%2
  8. echo 第三个参数:%3
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 00:15 , Processed in 0.020914 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表