2

基本上,我正在尝试进行一些字符串操作来编辑目录。我找到了一些代码来尝试编辑目录,但是当我使用它时,它不会将“正确”识别为函数,而只会将其识别为正确的属性,从而产生错误。

我想知道是否有一些我没有导入的东西,或者“正确”是否是一个在 VB6 中使用但被替换的过时函数。

我的代码如下:

Dim Foo As String
Dim Bar As String
Bar = 'some form of directory input i.e. my.computer.currentdirectory
Foo = right(Bar, (Len(Bar) - InStrRev(Bar, "/")))
MsgBox(Foo)

理想情况下,我需要一种更好的目录操作方法或一种使“正确”功能正常工作的方法。

4

2 回答 2

6

但是当我使用它时,它不会将“正确”识别为函数,而只会将其识别为正确的属性,从而产生错误。

如果你有一个“正确”的属性,你可以完全限定函数:

Foo = Microsoft.VisualBasic.Right(Bar, (Len(Bar) - InStrRev(Bar, "/")))

有关详细信息,请参阅Right Function的文档。

请注意,对于目录解析,您可以通过命名空间更干净地处理它System.IO。特别是,您可以构造一个DirectoryInfo并通过Parent属性获取父文件夹。

您还可以使用Path.GetDirectoryName来处理字符串。在您的情况下,如果您Bar设置为“C:\Some\Path\To\A\File.txt”并调用Path.GetDirectoryName(Bar),它将返回“C:\Some\Path\To\A”。如果你调用它,你会得到 ""C:\Some\Path\To" 等。

于 2012-06-20T00:25:53.903 回答
4

查找 System.IO.Path - 有很多有用的工具。您将特别需要 GetDirectoryName 和 GetFileName。它们适用于目录和文件名。

Bar = "C:\Dir1\Dir2\Dir3"
Foo = IO.Path.GetFileName(Bar)  'now = Dir3
Foo = IO.Path.GetDirectoryName(Bar)  'now = C:\Dir1\Dir2

http://msdn.microsoft.com/en-us/library/system.io.path.getfilename
http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname

于 2012-06-20T00:39:09.457 回答