精易论坛

标题: 文件和文件夹右键菜单复制副本 [打印本页]

作者: Strator    时间: 2022-4-18 12:34
标题: 文件和文件夹右键菜单复制副本
本帖最后由 Strator 于 2022-4-18 12:43 编辑

有时候文本件或文件夹要直接做个副本,懒得重命名,缝合了一个小工具,几个模块命令就直接拉了源码,编译模块文件会大100K左右。还记得源码来源的只有精易模块了,很是遗憾,其他的来源太多,不能一一感谢,都是众易友无私分享的代码。
效果图:
这是运行效果



这是右键效果

这是命名规则

下面是源代码,后辍功能没有实现,以我的缝合水平估计得等好久了。哈哈!

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
命令文本型0
文件右键菜单名称文本型文件右键菜单
文件夹右键菜单名称文本型文件夹右键菜单
文件右键菜单名称 = “新建文件副本”
选择框1.选中 = zc项是否存在 ( #根类, “*\shell\” + 文件右键菜单名称 + “\command\”)
文件夹右键菜单名称 = “新建文件夹副本”
选择框2.选中 = zc项是否存在 ( #根类, “Directory\shell\” + 文件夹右键菜单名称 + “\command\”)
取命令行 (命令)
如果真 (取数组成员数 (命令) ≠ 0)
载入 (窗口1, , )
' 信息框 (“文件路径:” + 命令 [1], 0, , )

子程序名返回值类型公开备 注
_选择框1_被单击  
如果真 (选择框1.选中 = )
如果真 (加入文件右键菜单 (“新建文件副本”, , ))
信息框 (“加入文件右键菜单成功!”, 0, , )
返回 ()
信息框 (“加入文件右键菜单失败!”, 0, , )
返回 ()
如果真 (加入文件右键菜单 (“新建文件副本”, , ))
信息框 (“删除文件右键菜单成功!”, 0, , )
返回 ()
信息框 (“删除文件右键菜单失败!”, 0, , )
子程序名返回值类型公开备 注
加入文件右键菜单逻辑型 把目标程序加入到右键菜单中,成功=真
参数名类 型参考可空数组备 注
菜单显示名文本型不能有符号,如“\”等
目标程序名称文本型填空为程序本身
是否删除逻辑型真=删除,假=不删除,默认为假,添加右键菜单
如果真 (是否删除 = )
如果真 (删除zc项 ( #根类, “*\shell\” + 菜单显示名 + “\command”))
删除zc项 ( #根类, “*\shell\” + 菜单显示名)
返回 ()
返回 ()
如果真 (寻找文本 (菜单显示名, “\”, , ) = -1)
如果真 (是否为空 (目标程序名称))
目标程序名称 = 取运行目录 ()“\”取执行文件名 ()
如果真 (写zc项 ( #根类, “*\shell\” + 菜单显示名 + “\command\”, 目标程序名称 + “ %1”) 写zc项 ( #根类, “*\shell\” + 菜单显示名 + “\Icon”, 目标程序名称))
返回 ()

返回 ()
子程序名返回值类型公开备 注
_选择框2_被单击  
如果真 (选择框2.选中 = )
如果真 (加入文件夹右键菜单 (“新建文件夹副本”, , ))
信息框 (“加入文件夹右键菜单成功!”, 0, , )
返回 ()
信息框 (“加入文件夹右键菜单失败!”, 0, , )
返回 ()
如果真 (加入文件夹右键菜单 (“新建文件夹副本”, , ))
信息框 (“删除文件夹右键菜单成功!”, 0, , )
返回 ()
信息框 (“删除文件夹右键菜单失败!”, 0, , )
子程序名返回值类型公开备 注
加入文件夹右键菜单逻辑型 把目标程序加入到右键菜单中,成功=真
参数名类 型参考可空数组备 注
菜单显示名文本型不能有符号,如“\”等
目标程序名称文本型填空为程序本身
是否删除逻辑型真=删除,假=不删除,默认为假,添加右键菜单
如果真 (是否删除 = )
如果真 (删除zc项 ( #根类, “Directory\shell\” + 菜单显示名 + “\command”))
删除zc项 ( #根类, “Directory\shell\” + 菜单显示名)
返回 ()
返回 ()
如果真 (寻找文本 (菜单显示名, “\”, , ) = -1)
如果真 (是否为空 (目标程序名称))
目标程序名称 = 取运行目录 ()“\”取执行文件名 ()
如果真 (写zc项 ( #根类, “Directory\shell\” + 菜单显示名 + “\command\”, 目标程序名称 + “ %1”) 写zc项 ( #根类, “Directory\shell\” + 菜单显示名 + “\Icon”, 目标程序名称))
返回 ()

返回 ()
  
窗口程序集名保 留  保 留备 注
窗口程序集_窗口1   
子程序名返回值类型公开备 注
_窗口1_创建完毕  
变量名类 型静态数组备 注
i整数型 
命令文本型0
_启动窗口.销毁 ()
' 取路径文件名并赋值到编辑框1
取命令行 (命令)
文件路径 = 数组_合并文本 (命令, 字符 ( #空格键 ))
i = 取文本长度 (文件路径)
' 确定全局变量值
path = 取文本左边 (文件路径, 到数值 (到文本 (倒找文本 (文件路径, “\”, , ))))
filename = 取文本右边 (文件路径, i - 到数值 (到文本 (倒找文本 (文件路径, “\”, , ))))
time = 到文本 (取月份 (取现行时间 ()))“月”到文本 (取日 (取现行时间 ()))“日”到文本 (取小时 (取现行时间 ()))“时”到文本 (取分钟 (取现行时间 ()))“分”到文本 (取秒 (取现行时间 ()))“秒”
Separator = 符号.内容
num = 序号.内容
' 建立默认规则文件名
副本文件名.内容 = time + Separator + filename
子程序名返回值类型公开备 注
_间隔符_被单击  
判断 (间隔符.选中 = )
副本文件名.内容 = time + Separator + filename
副本文件名.内容 = time + filename

子程序名返回值类型公开备 注
_符号_内容被改变  
间隔符.选中 = 真
Separator = 符号.内容
副本文件名.内容 = time + Separator + num + Separator + filename
子程序名返回值类型公开备 注
_日期_被单击  
判断 (日期.选中 = )
副本文件名.内容 = time + Separator + num + Separator + filename
副本文件名.内容 = num + Separator + filename

子程序名返回值类型公开备 注
_后辍_被单击  

子程序名返回值类型公开备 注
_加序号_被单击  
判断 (加序号.选中 = )
序号.内容 = “1”
副本文件名.内容 = time + Separator + num + Separator + filename
副本文件名.内容 = time + Separator + filename

子程序名返回值类型公开备 注
_序号_内容被改变  
加序号.选中 = 真
num = 序号.内容
副本文件名.内容 = time + Separator + num + Separator + filename
子程序名返回值类型公开备 注
_确定_被单击  
' 判断是否是文件夹
文件属性 = 取文件属性 (文件路径)
判断 (位与 (文件属性, #子目录 ) ≠ 0)
目录_复制 (文件路径, path + 副本文件名.内容)
判断 (目录是否存在_ (path + 副本文件名.内容) ≠ 0)
信息框 (“文件夹副本新建成功”, 64, , )
结束 ()

信息框 (“文件夹副本新建失败,请检查文件名格式”, 16, , )
结束 ()

判断 (复制文件 (文件路径, path + 副本文件名.内容))
信息框 (“文件副本新建成功”, 64, , )
结束 ()
信息框 (“文件副本新建失败,请检查文件名格式”, 16, , )
结束 ()

子程序名返回值类型公开备 注
_取消_被单击  
结束 ()

补充内容 (2022-4-29 18:14):
因为窗体设计问题,需要一个非激活自动退出。

.版本 2

.子程序 _窗口1_被取消激活


.如果 (窗口_是否激活 (窗口1.取窗口句柄 ()) = 假)
    结束 ()

作者: FUYUEPC    时间: 2022-4-18 14:40

非常不错。继续 努力
作者: pjm123    时间: 2022-4-18 15:08
谢谢分享
作者: 土豆W    时间: 2022-4-18 15:10
好东西 正在找呢 谢谢
作者: xjshuaishuai    时间: 2022-4-18 15:31
谢谢分享!
作者: wuqingg    时间: 2022-4-18 15:33
辛苦了............
作者: 凉城o    时间: 2022-4-19 01:07

作者: sinewtec    时间: 2022-4-19 09:49
支持开源~!感谢分享
作者: gaoqing    时间: 2022-4-19 10:41
谢谢分享
作者: fjgh    时间: 2022-4-19 12:10

作者: kissismiss    时间: 2022-6-4 02:20
学习学习
作者: 圆圈    时间: 2022-6-10 09:59
这个不错




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4