Board logo

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

作者: bsb123    时间: 2010-9-21 11:13     标题: 请问如何编写支持拖拽/拖放文件到bat上执行的批处理?

本帖最后由 pcl_test 于 2018-4-20 17:04 编辑

请问如何编写支持拖拽的批处理? 比如:拖拽一个D:\123内的一个可执行文件abc.exe到该批处理,即可自动添加为以改文件名命名的启动项abc,执行路径为D:\123\abc.exe?如果同时拖几个文件也可以实现吗?
作者: robinsnelson    时间: 2010-9-21 12:27

  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 编辑 ]
作者: TX_kakashi    时间: 2010-9-21 19:17

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
复制代码

作者: vsbat    时间: 2010-9-21 19:42

拖拽的话,资源管理器会把所拖拽的文件名的完整路径作为命令行参数传递给你拖拽到的程序,批处理提供了处理传递命令行参数的方法,即 %1,%2,%3  ----
它们分别代表一个传递过来的参数

处理它们即可




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2