查看: 5322|回复: 57
收起左侧

[系统] 请问大家有见过创建快捷方式的批处理不

[复制链接]
527907615
发表于 2017-11-28 00:29:09 | 显示全部楼层 |阅读模式
请问有没有这样的BAT批处理文件呢,就是可以把某个文件拖动到这个BAT批处理文件放开时自动将这个文件的快捷方式发送到桌面或特定的路径下面


随便注册
发表于 2017-11-28 03:47:14 | 显示全部楼层
批处理不懂,AHK倒是简单,你要接受exe的话,试试能不能用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
落落的瓶子
发表于 2017-11-28 10:09:39 | 显示全部楼层
527907615
 楼主| 发表于 2017-11-28 17:23:07 | 显示全部楼层
随便注册 发表于 2017-11-28 03:47
批处理不懂,AHK倒是简单,你要接受exe的话,试试能不能用。

感谢大大,这是我想要的效果
527907615
 楼主| 发表于 2017-11-28 17:24:06 | 显示全部楼层
本帖最后由 527907615 于 2017-11-28 17:25 编辑

这个对小白来说难度不小呢
随便注册
发表于 2017-11-28 18:18:21 | 显示全部楼层
527907615 发表于 2017-11-28 17:23
感谢大大,这是我想要的效果

放开时按住小键盘123使用不同路径。判断按键是否按住不太靠谱,用不着就固定一个路径吧。


https://autohotkey.com/download/ahk.zip 用Ahk2Exe.exe就行了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
527907615
 楼主| 发表于 2017-11-28 19:02:33 | 显示全部楼层
随便注册 发表于 2017-11-28 18:18
放开时按住小键盘123使用不同路径。判断按键是否按住不太靠谱,用不着就固定一个路径吧。

还有这种操作,其实用一个固定路径也是可以的了
随便注册
发表于 2017-11-28 19:09:25 | 显示全部楼层
527907615 发表于 2017-11-28 19:02
还有这种操作,其实用一个固定路径也是可以的了

我原来以为AHK就是个SendKey ,后来才知道还能处理字符串、甚至出界面呢

创建快捷方式那些快捷键、大小、参数什么的也可以设置,我都没写,你自己看帮助吧


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
os52
发表于 2017-11-29 08:48:54 | 显示全部楼层
考虑符号链接吗?

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      创建目录符号链接。默认为文件
                符号链接。
        /H      创建硬链接,而不是符号链接。
        /J      创建目录联接。
        Link    指定新的符号链接名称。
        Target  指定新链接引用的路径
                (相对或绝对)。
kfk
发表于 2017-11-29 12:50:47 | 显示全部楼层
本帖最后由 kfk 于 2018-1-11 20:34 编辑

注意:此版不完美。
新版在 29楼:
https://bbs.kafan.cn/forum.php?m ... 06&pid=41245281






既然还要拖放到文件上,那用基本操作不就可以了吗:

发送到桌面:
[发送到]菜单里有[桌面快捷方式]啊。

发送到特定路径:
把文件 Alt+拖放 到目标路径(或目标的快捷方式上),就OK了。(其实只需在放开前按住Alt键即可,注意看指针变化。)
Alt+拖放 人类普遍要用两只爪子。想单爪就用 右键拖放,放开后,会弹出菜单,选择“在当前位置创建快捷方式”就是了。
(发送到桌面 当然也可以用这法。)

批量建:
那就先 多选,再 发送/拖放。

------------------------------
而编程,不就是为了免拖放吗。
当然你如果拖放到程序上也可以,但这跟上面的基本操作也没多大差别了。

这里有个vbs(支持批量发送/拖放):
http://www.aichengxu.com/cyvyan/2766691.htm

我把它丰富完善了一下:(请先读完上文)
▲开头加了询问,便于临时改动路径,也为防止误执行。你若只用默认路径,运行后直接Enter即可。
▲目标路径若不存在,则自动新建。并加了路径错误处理,避免出错中断。
▲若存在同名快捷方式,则自动重命名(尾加特殊序号 {n 以区别于系统的重命名形式)。

如果哪儿不妥,可以再改。
妥善保存vbs,只需把它的快捷方式放到SendTo里就行了,这样不怕丢。

刚才代码没贴成,再来:
  1. '==============================
  2. '现名:CreateShortcut(s)To.vbs
  3. 'kfk 2017-11-29 @bbs.kafan.cn
  4. '==============================
  5. '原名:CreateMyShortCut.vbs
  6. 'Ivan Chen, Zsu '2003-5-12
  7. '==============================

  8. strDestination = "E:\默认目标路径"

  9. Set fso = CreateObject("Scripting.FileSystemObject")
  10. sPrompt = String(5, vbCr) & "创建快捷方式到:"
  11. Do
  12.   strDestination = InputBox(sErr & sPrompt, WScript.ScriptName, strDestination)
  13.   If strDestination = "" Then WScript.Quit

  14.   On Error Resume Next
  15.     fso.CreateFolder(strDestination)
  16.     If Err><0 Then sErr = "路径不对!"
  17.   On Error GoTo 0
  18. Loop Until fso.FolderExists(strDestination)

  19. Set WshShell = WScript.CreateObject("WScript.Shell")

  20. Set objArgs = WScript.Arguments
  21. For i = 0 To objArgs.Count - 1   'Loop through all arguments
  22.   GetAName = strDestination & "\" & fso.GetFileName(objArgs(i))
  23.   j=1
  24.   Do
  25.     If j>1 Then sN = "  {" & j
  26.     strShortCut = GetAName & sN & ".lnk"
  27.     j=j+1
  28.   Loop While fso.FileExists(strShortCut)
  29.   sN=""

  30.   Set oShellLink = WshShell.CreateShortcut(strShortCut)
  31.   oShellLink.TargetPath = objArgs(i)
  32.   oShellLink.WindowStyle = 1
  33.   'oShellLink.Description = "Created By Ivan Chen"
  34.   oShellLink.WorkingDirectory = Left(objArgs(i), InStrRev(objArgs(i), "\"))
  35.   oShellLink.Save
  36. Next
复制代码

现在代码居然不能高亮了……难看!



您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-25 21:53 , Processed in 0.128248 second(s), 22 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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