我有一些图片文件   HSD003.JPG  MIC6619.JPG  MIC6618.JPG.........想先按系统排列后 再改名    比如 文件夹内有400个图片文件   先按系统从小到大排列后   开始替换名         如文件夹内有这三个文件排列后如下:  MIC6601.JPG MIC6602.JPG MIC6603.JPG   我想改名后是 1.jpg 2.jpg 3.jpg
  最好新名用个text1.text  来输入   如我输入A  那么就从A1.A2.A3....这样改名   如果text 不输入则为 1.2.3...谁帮帮我这个菜鸟..

解决方案 »

  1.   

    这要用VB吗?
    用个bat文件就搞定了.
      

  2.   

    1.要不你在网上找个批量改名工具:
    http://www.skycn.com/soft/22778.html
    2.打开acdsee,通过左边的文件树找到你放图片的文件夹,打开文件夹,选中你想重命名的所有图片,点右键中的批量重命名就可以啦!
    3.批处理:
    for /f "delims=" %%i in ('dir /b *.jpg') do (
    set a=%%i
    set b=!a:-=!
    ren "%%i" !b!.jpg

    pause 
     
    以上代码存储为bat文件,执行即OK!
      

  3.   

    '向窗体添加一个label控件、 commandbutton控件、 drivelistbox控件 、dirlistbox控件 、fiellistbox控件、
    Private Sub Command1_Click()
    If Text1 <> "" Then '如果Text不为空,就执行下面语句块
     Name Dir1.Path & "\" & File1.FileName As Dir1.Path & "\" & Text1 '重命名
    File1.Refresh '更新文件列表框
    End If
    End SubPrivate Sub Dir1_Change()
    File1.Path = Dir1.Path
    End SubPrivate Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    End SubPrivate Sub File1_Click()
    Label1.Caption = "将" & File1.FileName & "改名为:"
    End Sub
      

  4.   

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

  5.   

    'text1.text  输入要改名的有缀,textpath填写文件所在路径如c:\path\
    Private Sub command1_Click()  '开始
        Dim FileName() As String, i As Long
                    getfilesname (TextPath), FileName()
                    For i = 0 To UBound(FileName)
                    ReDim oldname(UBound(FileName)) As String
                  ReDim newname(UBound(FileName)) As String
                  Dim k As Integer
                  
                  oldname = FileName
     
                  newname(i) = TextPath & text1.Text & i & ".jpg"
          On Error Resume Next
              Name oldname(i) As newname(i)
    Next iEnd Sub'用这个函数来得到文件夹下的文件名Function getfilesname(ByVal Path As String, ByRef FileName() As String) As Boolean
              Dim fName As String, i As Long
                    If Right$(Path, 1) <> "\" Then Path = Path & "\"
                    fName = Dir$(Path & "*.*")
                    i = 0
                    Do While fName <> ""
                                    ReDim Preserve FileName(i) As String
                                    FileName(i) = Path & fName
                                    fName = Dir$
                                    i = i + 1
                    Loop
                    If i <> 0 Then
                                    ReDim Preserve FileName(i - 1) As String
                                    getfilesname = True
                    Else
                                    getfilesname = False
                    End If
    End Function
      

  6.   

    如果用python来写就几行代码而已,何必这么复杂!
      

  7.   

    在给个简单的
    Private Sub Command1_Click()
    Dim i As Long
    mypath = "C:\"   ' 指定路径。
    myname = Dir(mypath & "*.jpg", vbDirectory)   ' 找寻第一项。
    Do While myname <> ""   ' 开始循环。
       ' 跳过当前的目录及上层目录。
       If myname <> "." And myname <> ".." Then
          ' 使用位比较来确定 MyName 代表一目录。
            Name mypath & myname As mypath & Text1.Text & CStr(i) & ".jpg"
            i = i + 1
       End If
       myname = Dir   ' 查找下一个。
    LoopEnd Sub
      

  8.   

    现在有个问题   如果我只想替换文件名中的字符  又如何做呢?如   mk1.jpg mk2.jpg   我想把文件夹内的所有文件名mk 替换为 DC   要什么写呢?  
    替换后为    DC1.JPG DC2.JPG  
    谢谢?
      

  9.   

    '一次满足你的要求   6个textbox   2个按扭  2个Checkbox '路径选取框(选择文件夹)
    Private Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
    End Type
    Public Enum DirFlags
    BIF_BROWSEFORCOMPUTER = &H1000&
    BIF_BROWSEFORPRINTER = &H2000&
    BIF_BROWSEINCLUDEFILES = &H4000&
    BIF_DONTGOBELOWDOMAIN = &H2&
    BIF_EDITBOX = &H10&
    BIF_RETURNFSANCESTORS = &H8&
    BIF_RETURNONLYFSDIRS = &H1&
    BIF_STATUSTEXT = &H4&
    BIF_VALIDATE = &H20&
    End Enum
    Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pIdl As Long, ByVal pszPath As String) As LongPublic Function ShowDirBox(ByVal hwnd As Long, Optional ByVal Title As String, Optional DirName As String, Optional ByVal flags As DirFlags) As String   '选择框文件夹路径函数
    Dim FileDis As BROWSEINFO, FilePath As String, IntLen As Integer
    With FileDis
    .hOwner = hwnd
    .lpszTitle = Title
    .ulFlags = flags
    .pszDisplayName = String(260, 0)
    End With
    FilePath = String(260, 0)
    SHGetPathFromIDList SHBrowseForFolder(FileDis), FilePath
    IntLen = InStr(FilePath, vbNullChar)
    If IntLen = 0 Then Exit Function
    ShowDirBox = Left$(FilePath, IntLen - 1)
    IntLen = InStr(FileDis.pszDisplayName, vbNullChar)
    If IntLen = 0 Then Exit Function
    DirName = Left$(FileDis.pszDisplayName, IntLen - 1)
    'MsgBox ShowDirBox(Me.hWnd, , , BIF_EDITBOX)  '此句可得对话框
    End FunctionPrivate Sub Check1_Click()
      If Check1.Value = 1 Then Check2.Value = 0: Text4.Enabled = True: Text5.Enabled = True
    End SubPrivate Sub Check2_Click()
      If Check2.Value = 1 Then Check1.Value = 0: Text6.Enabled = True
    End SubPrivate Sub Form_Load()
    Text4.Enabled = False: Text5.Enabled = False: Text6.Enabled = False
    End SubPrivate Sub jcbutton1_Click()                        '选择文件夹目录
      Dim arr() As String, arr1() As String, i As Long
      Dim item As Object, fso As Object, t As Object
      Dim sName As String
      
    On Error GoTo ToExit
      Text1.Text = ShowDirBox(Me.hwnd, , , BIF_EDITBOX)
      Set fso = CreateObject("scripting.filesystemobject")
      Set t = fso.getfolder(Text1.Text)
          
       For Each item In t.Files
        sName = sName & item.Name & vbCrLf
       Next
               Text2.Text = sName
    ToExit:
    Resume Next
    End Sub
    Private Sub jcbutton2_Click()
      Dim arr() As String, arr1() As String, arrName() As String, i As Long, s As Long
      Dim item As Object, fso As Object, t As Object
      Dim sName As String, Post As String
      Dim uReplace As String, xReplace As String, Result As StringOn Error GoTo ToExit
    If Text1.Text <> "" Then
     If Check1.Value <> 0 Or Check2.Value <> 0 Then
      uReplace = Text4.Text: xReplace = Text5.Text
      Set fso = CreateObject("scripting.filesystemobject")
      Set t = fso.getfolder(Text1.Text)               '你的文件夹
          
       For Each item In t.Files
        sName = sName & item.Name & vbCrLf            '获得所有文件名
       Next
       If Check2.Value = 1 And Check1.Value = 0 Then
           arr = Split(Trim(sName), vbCrLf)
            For i = 0 To UBound(arr) - 1
            Post = Right(arr(i), 4)          '获得文件后缀
              Name Text1.Text & "\" & arr(i) As Text1.Text & "\" & Val(Text6.Text) + i & Post
              Text3.Text = Text3.Text & Val(Text6.Text) + i & Post & vbCrLf
          Next i
     
        Else
        
        
            If Check1.Value = 1 And Check2.Value = 0 Then
                arr = Split(Trim(sName), vbCrLf)
                For s = 0 To UBound(arr) - 1
                  Result = Result & Mid(arr(s), 1, Len(arr(s)) - 4) & vbCrLf
                Next s
        
                Result = Replace(Result, uReplace, xReplace)
                arr1 = Split(Trim(Result), vbCrLf)
            
                For i = 0 To UBound(arr) - 1
                 Post = Right(arr(i), 4)          '获得文件后缀
                 Name Text1.Text & "\" & arr(i) As Text1.Text & "\" & arr1(i) & Post
                 Text3.Text = Text3.Text & arr1(i) & Post & vbCrLf
                Next i
             End If
        
      End If
      Else
       MsgBox "请选择类型", , "提示"
      End If
    Else
    MsgBox "请选择文件夹", , "提示"
    End If
    ToExit:
    Resume Next
    End Sub
      

  10.   

    http://download.csdn.net/source/1410205以上是按拍摄时间给数码相片批量更名的VB源码,参考一下可以改成你所需要的
      

  11.   

    '向窗体添加一个label控件、 commandbutton控件、 drivelistbox控件 、dirlistbox控件 、fiellistbox控件、
    Private Sub Command1_Click()
    If Text1 <> "" Then '如果Text不为空,就执行下面语句块
     Name Dir1.Path & "\" & File1.FileName As Dir1.Path & "\" & Text1 '重命名
    File1.Refresh '更新文件列表框
    End If
    End SubPrivate Sub Dir1_Change()
    File1.Path = Dir1.Path
    End SubPrivate Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    End SubPrivate Sub File1_Click()
    Label1.Caption = "将" & File1.FileName & "改名为:"
    End Sub
      

  12.   

    Private Function GetStrVal(s As String) As String
     Dim rExp
     Set rExp = CreateObject("VBScript.RegExp")
     
     rExp.Pattern = "\d+"
     rExp.Global = True
     Dim Num As Object, Nums As Object
     Set Nums = rExp.Execute(s)
     For Each Num In Nums
     GetStrval = GetStrval & Num.Value
     Next
     End
    End FunctionPrivate Sub Command1_Click()
    Dim i As Long
    mypath = "C:\"  ' 指定路径。
    myname = Dir(mypath & "*.jpg", vbDirectory)  ' 找寻第一项。
    Do While myname <> ""  ' 开始循环。
      ' 跳过当前的目录及上层目录。
      If myname <> "." And myname <> ".." Then
          ' 使用位比较来确定 MyName 代表一目录。
            Name mypath & myname As mypath & Text1.Text & GetStrval(myname) & ".jpg"
            i = i + 1
      End If
      myname = Dir  ' 查找下一个。
    LoopEnd Sub