【发布时间】:2013-03-31 00:00:11
【问题描述】:
好的。我觉得这应该是编程 101,但我似乎找不到关于如何将文件路径名设置为足够动态以明确设置到安装 exe 的位置的正确答案。
基本上,这个应用程序实际上将安装在用户个人文件夹中,可能类似于本地数据,我需要获取一个由程序创建的 txt 文件,该文件要创建到与可执行文件相同的目录中。
当前路径:
Dim strFilePath As String = "D:\Development\Bobby\Prototyping\Replication Desktop Client\Replication_Desktop_Client\ClientAccessList.txt"
我想把它设置成类似
Dim strCurrentLocationOfEXE As String = HardDriveLetter & Users & CurrentUserPath & InstalledDirectory
Dim strFilePath As String = strCurrentLocationOfEXE & "\ClientAccessList.txt"`
但我一生都无法弄清楚如何让它确定,因为它不会总是安装到同一个文件夹中(即用户名和硬盘驱动器号可能会不同)。
想法?
【问题讨论】:
-
您需要查找特定于操作系统的环境变量...在这里查看介绍:en.wikipedia.org/wiki/Environment_variable
-
让我通过询问来更改它,这是否可以将 txt 文件保存在用户漫游应用程序数据文件夹中,并且它是否也可以正确创建 Replication Client 文件夹?
Dim strCurrentAppDataPath As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData & "\Replication Client") Dim strFilePath As String = strCurrentAppDataPath & "\ClientAccessList.txt" -
如果您想创建一个新文件夹,您需要在单独的步骤中明确创建它。最好使用
Path.Combine,而不是自己直接串联路径。 -
知道了,我就是这么想的。是否有理由使用 path.combine 比自己连接它更好?
-
连接肯定会起作用,只是
Path.Combine为您提供了额外的抽象层,以防路径格式与当前操作系统中的预期格式不同。例如,有人可能会在 Mono 下的 linux 机器上运行您的应用程序,在这种情况下,应该使用正斜杠而不是反斜杠。这没什么大不了的,但这只是一种好习惯。
标签: vb.net installation save setting filepath