求将快捷方式文件复制替换成原本的文件的动作

动作需求 · 2806 次浏览
饭饭君 创建于 2020-08-04 11:52

为了节省空间和便于文件管理,所以我常常会将多个不同地点的相同文件用同一个来源的快捷方式来代表。

但是面临要把文件拷贝的时候,就会出现拷贝走的快捷方式没有用的情况

 

能否设计一个动作,先定位原文件地址,然后复制原文件到快捷方式所在地,然后删除快捷方式这组动作呢

因为是电脑小白,只会做一些简单的动作。

如果大佬们有参考而且容易实现的话,请推荐给我。如果需要一定的水平,请帮忙做一下,这个功能应该很多人都需要的。


回复内容
small_snail 2020-08-04 22:28
#1

应该可以做的。不过要实现你的目的,不必用你说的那种删除快捷方式再把原文件粘贴的方法,这样的话不就与你说说的“为了节省空间和便于文件管理”相悖了吗。

一个应该可行的方案:

1. 选择文件后执行动作。

2. “获取选择的文件列表”模块得到文件路径,“提取文件路径信息”模块得到文件扩展名,看它是不是lnk,确定操作的确实是快捷方式文件。

3. “运行C#代码”模块,根据文件路径,得到快捷方式文件所指向的目标文件路径。

4. “文件和目录操作”模块,复制目标文件。

5. “选择文件”模块的“保存文件”功能,让用户确定文件粘贴到哪里。


所以关键就是第3步,我检索了一个链接供你参考:

C#如何获取快捷方式指向的目标文件

small_snail 2020-08-06 15:27 :

今天无意中看到已经有大佬做出第3步的子程序了,所以事先起来应该很简单了

定位快捷方式

small_snail 2020-08-04 22:57
#2

想到了一个更简单的方法,用mklink命令,给快捷方式创建硬链接,得到的跟快捷方式所指定文件是一样的文件。

一个参考链接:https://blog.csdn.net/WPwalter/article/details/79771018

small_snail 2020-08-04 22:59
#3

再或者,模拟下面这个操作得到目标文件路径:

右键文件,按下R,Ctrl+c,关闭属性窗口

剩下的跟我说的第一个方案一样了

这种实现起来应该最简单,但是有界面上的干扰。

回复主贴