首页 > 解决方案 > 有没有办法使用 C# 从 .URL 文件中获取 URL?我曾想过进入房产以获得它,但我愿意接受任何建议

问题描述

我的任务是编写一个可以在 .docx、.xlsx、.pptx、.lnk 和 .url 文件中找到任何超链接的程序。除了 .url 部分之外,我已经弄清楚了所有这些。我考虑过从文件属性中获取它的可能性,但我也不确定他是否可能。

有人对如何做到这一点有任何想法吗?

这是从 Word 文档中获取链接的成功尝试。

string pathtofolder = "C:\\Users\\Icmolreulf\\source\\repos\\FileSearch\\FileSearch\\testing\\";
string[] docx = System.IO.Directory.GetFiles(pathtofolder, "*.docx", System.IO.SearchOption.AllDirectories);
            for (int i = 0; i < docx.Length; i++)
            {
                WordprocessingDocument word = WordprocessingDocument.Open(docx[i], true);
                Console.WriteLine("\n");
                IEnumerable<HyperlinkRelationship> link = from x in word.MainDocumentPart.HyperlinkRelationships where (x.RelationshipType == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink") select x;
                
            if (!link.Any())
            {
                Console.WriteLine("No links found in " + docx[i] + ".");
            }
            else
            {
                 Console.WriteLine("Links found in " + docx[i] + ":");
                 sw.WriteLine("Links found in " + docx[i] + ":");
                 foreach (HyperlinkRelationship l in link)
                    {
                    Console.WriteLine(l.Uri.ToString());
                    sw.WriteLine(l.Uri.ToString());
                    }
                sw.WriteLine("\n");
            }
         }

标签: c#

解决方案


.url文件是基于文本的。

因此,一种方法是逐行阅读,直到找到:

URL=[URL Address]


推荐阅读