如将目录 C:\aaa\1  改名为 C:\aaa\2
请问用何种方法或函数,谢谢!

解决方案 »

  1.   

    Private Type SHFILEOPSTRUCT
            hwnd As Long
            wFunc As Long       '对文件的操作指令
            pFrom As String     '源文件或路径
            pTo As String       '目的文件或路径
            fFlags As Integer   '操作标志
            fAnyOperationsAborted As Long
            hNameMappings As Long
            lpszProgressTitle As String
    End TypePrivate Declare Function SHFileOperation Lib _
            "shell32" _
            (lpFileOp As SHFILEOPSTRUCT) As LongConst FO_COPY = &H2
    Const FO_DELETE = &H3
    Const FO_MOVE = &H1
    Const FO_RENAME = &H4
    Const FOF_ALLOWUNDO = &H40
    Const FOF_NOCONFIRMATION = &H10
    Private Sub Command3_Click()
    Dim xFile As SHFILEOPSTRUCT
    '更名
    xFile.pFrom = "d:\wschart"
    xFile.pTo = "d:\111"
    xFile.wFunc = FO_RENAME
    xFile.hwnd = Me.hwnd
    If SHFileOperation(xFile) Then
    End If
    End Sub或者还使用
    Private Sub Command1_Click()
    Name "d:\222\222" As "D:\222\21111"
    End Sub
      

  2.   

    Name 语句
          重新命名一个文件、目录、或文件夹。语法Name oldpathname As newpathnameName 语句的语法具有以下几个部分:部分 描述 
    oldpathname 必要参数。字符串表达式,指定已存在的文件名和位置,可以包含目录或文件夹、以及驱动器。 
    newpathname 必要参数。字符串表达式,指定新的文件名和位置,可以包含目录或文件夹、以及驱动器。而由 newpathname 所指定的文件名不能存在。 
    说明 Name 语句重新命名文件并将其移动到一个不同的目录或文件夹中。如有必要,Name 可跨驱动器移动文件。 但当 newpathname 和 oldpathname 都在相同的驱动器中时,只能重新命名已经存在的目录或文件夹。 Name 不能创建新文件、目录或文件夹。在一个已打开的文件上使用 Name,将会产生错误。必须在改变名称之前,先关闭打开的文件。Name 参数不能包括多字符 (*) 和单字符 (?) 的统配符。