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

[文件操作] 请问如何编写支持拖拽/拖放文件到bat上执行的批处理?

[复制链接]
发表于 2010-9-21 11:13:09 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2018-4-20 17:04 编辑

请问如何编写支持拖拽的批处理? 比如:拖拽一个D:\123内的一个可执行文件abc.exe到该批处理,即可自动添加为以改文件名命名的启动项abc,执行路径为D:\123\abc.exe?如果同时拖几个文件也可以实现吗?
发表于 2010-9-21 12:27:02 | 显示全部楼层
  1. @echo off
  2. reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v %~n1 /t REG_SZ /d "%~f1"  
  3. pause
复制代码

保存为bat文件后就可以拖拽了  把要添加的执行文件拖拽到批处理上就能添加了 不过这个是添加到HKLM下的  也可以添加到HKCU下 把里面的HKLM换成HKCU就行了

[ 本帖最后由 robinsnelson 于 2010-9-21 12:28 编辑 ]
发表于 2010-9-21 19:17:30 | 显示全部楼层
ls的是拖放到图标,这个是拖放到窗口,功能代码与楼上的一致
  1. echo [请拖放你需要处理的文件]
  2. set /p "add_file="
  3. call add_reg "%add_file%"
  4. echo done.&pause
  5. exit
  6. :add_reg
  7. reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v %~n1 /t REG_SZ /d "%~f1"
  8. exit/b
复制代码
发表于 2010-9-21 19:42:31 | 显示全部楼层
拖拽的话,资源管理器会把所拖拽的文件名的完整路径作为命令行参数传递给你拖拽到的程序,批处理提供了处理传递命令行参数的方法,即 %1,%2,%3  ----
它们分别代表一个传递过来的参数

处理它们即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 18:36 , Processed in 0.019388 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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