|
本帖最后由 疯狂IT 于 2025-7-31 19:06 编辑
附件我已经生成exe了,下载直接就能用
OutlookShortcutCopier.cs.rar
(2.63 KB, 下载次数: 0)
解决:安装系统后,系统域用户登录后,桌面没有outlook图标,直接下载运行即可,不放心自己添加C#代码
Outlook快捷方式自动复制工具介绍
一、工具用途
本工具是一款轻量级C#小程序,主要功能为:
- 自动扫描系统「开始菜单程序」目录(C:\ProgramData\Microsoft\Windows\Start Menu\Programs)
- 筛选所有包含"outlook"名称的快捷方式(如outlook.lnk、Outlook (classic).lnk等)
- 自动复制到公共桌面(C:\Users\Public\Desktop),方便所有用户快速访问
二、核心特性
- 智能识别:不区分大小写匹配"outlook"相关快捷方式
- 静默运行:无弹窗无提示,后台完成操作后自动退出
- 安全机制:目标位置已存在相同文件时自动跳过,避免重复
三、使用方法
1. 确保电脑已安装.NET Framework 4.5及以上版本
2. 下载程序后,直接双击运行(建议右键选择「以管理员身份运行」)
3. 操作完成后无需额外操作,程序会自动关闭
4. 检查公共桌面是否出现Outlook快捷方式以确认执行结果
四、注意事项
- 需保证系统存在「开始菜单程序」目录的访问权限
- 若目标桌面已有相同快捷方式,程序不会重复复制
- 2026年3月后程序将自动停止工作,无需手动清理
- 适用于Windows 10/11系统,其他系统未做兼容性测试
五、代码片段(核心逻辑)
- using System;
- using System.IO;
- using System.Linq;
- class OutlookShortcutCopier
- {
- static void Main()
- {
- try
- {
- // 该程序源于itggg.com
- // 源目录:Start Menu Programs
- string sourceDirectory = @"C:\ProgramData\Microsoft\Windows\Start Menu\Programs";
- // 目标目录:公共桌面
- string targetDirectory = @"C:\Users\Public\Desktop";
- // 查找所有包含"outlook"的.lnk文件(不区分大小写)
- var outlookShortcuts = Directory.GetFiles(sourceDirectory, "*.lnk")
- .Where(file => Path.GetFileName(file).IndexOf("outlook", StringComparison.OrdinalIgnoreCase) >= 0)
- .ToList();
- if (outlookShortcuts.Count == 0)
- {
- return; // 未找到文件,直接退出
- }
- // 复制文件到目标目录
- foreach (var sourceFile in outlookShortcuts)
- {
- string fileName = Path.GetFileName(sourceFile);
- string targetFile = Path.Combine(targetDirectory, fileName);
- // 检查目标文件是否已存在,不存在则复制
- if (!File.Exists(targetFile))
- {
- File.Copy(sourceFile, targetFile, false);
- }
- }
- }
- catch
- {
- // 发生错误时不做任何提示,直接退出
- }
- }
- }
复制代码
发布日期:2025年7月
|
|