VB.net返回带文件夹路径的字符串

时间:2012-10-24 23:35:26

标签: vb.net file filepath

我的程序需要读取软件供应商发送给我的XML文件,以便完成一个过程。问题是我无法告诉程序文件所在的位置!

当我发布程序并安装程序时,它会在每次安装时生成一个随机文件夹 位置相同的文件夹名称总是不同

  

C:\用户\雷\应用程序数据\本地\应用\ 2.0 \ 6ZNVVG8V.C6O \ 0MELQPL9.LCB \洛尔 - .. tion_531c8308fa0ff83d_0001.0000_5a2aee0cd0a667c1

我已经想出如何通过这样做来显示该文件夹

Dim resourcePath As String = _
    System.IO.Path.GetFullPath(My.Resources.ResourceManager.BaseName)
Dim rIndex As Integer = resourcePath.LastIndexOf("\")
resourcePath = resourcePath.Substring(0, rIndex)
Dim filePath As String = System.IO.Path.Combine(resourcePath, "Client.xml")

但程序会创建第二个文件夹,它将XML和ICOn文件放在随机生成但位于同一目录中的文件夹中。

如何让程序在该文件夹中查找xml?

请帮助我!

2 个答案:

答案 0 :(得分:0)

你可以这样做:

Dim query = _
    From d In System.IO.Directory.GetDirectories(resourcePath)
    Let f = New FileInfo(System.IO.Path.Combine(d, "Client.xml"))
    Where f.Exists
    select f.FullName

Dim filePath = query.FirstOrDefault()

答案 1 :(得分:0)

按过滤器获取所有文件的列表

    lblPaymentMode.Location = New Point(lblDate.Right - lblPaymentMode.Width, lblPaymentMode.Location.Y)
    Dim mFiles() As String = Directory.GetFiles("Path of folder", "*.xml", SearchOption.AllDirectories)
    For i As Integer = 0 To mFiles.Count - 1
        Debug.Print(mFiles(i)) 'print name and path of of each file
    Next