How do I rename a file using VBScript?

后端 未结 7 1984
北恋
北恋 2020-12-11 01:44

I am trying to rename a file and was using the below code but it does not seem to work. Can someone please tell me why? What is the correct way to rename a file from VBScrip

7条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-11 02:28

    Rename File using VB SCript.

    1. Create Folder Source and Archive in D : Drive. [You can choose other drive but make change in code from D:\Source to C:\Source in case you create folder in C: Drive]
    2. Save files in Source folder to be renamed.
    3. Save below code and save it as .vbs e.g ChangeFileName.vbs
    4. Run file and the file will be renamed with existing file name and current date

      Option Explicit

      Dim fso,sfolder,fs,f1,CFileName,strRename,NewFilename,GFileName,CFolderName,CFolderName1,Dfolder,afolder

      Dim myDate

      myDate =Date

      Function pd(n, totalDigits)

          if totalDigits > len(n) then 
      
              pd = String(totalDigits-len(n),"0") & n 
      
          else 
      
              pd = n 
      
          end if 
      

      End Function

      myDate= Pd(DAY(date()),2) & _

      Pd(Month(date()),2) & _

      YEAR(Date())

      'MsgBox ("Create Folders 'Source' 'Destination ' and 'Archive' in D drive. Save PDF files into Source Folder ")

      sfolder="D:\Source\"

      'Dfolder="D:\Destination\"

      afolder="D:\archive\"

      Set fso= CreateObject("Scripting.FileSystemObject")

      Set fs= fso.GetFolder(sfolder)

      For each f1 in fs.files

              CFileName=sfolder & f1.name
      
              CFolderName1=f1.name
      
              CFolderName=Replace(CFolderName1,"." & fso.GetExtensionName(f1.Path),"")
      
              'Msgbox CFileName 
      
              'MsgBox CFolderName 
      
              'MsgBox myDate
      
              GFileName=fso.GetFileName(sfolder)
      
              'strRename="DA009B_"& CFolderName &"_20032019"
      
              strRename= "DA009B_"& CFolderName &"_"& myDate &""
      
              NewFilename=replace(CFileName,CFolderName,strRename)
      
              'fso.CopyFile CFolderName1 , afolder
      
              fso.MoveFile CFileName , NewFilename
      
              'fso.CopyFile CFolderName, Dfolder
      

      Next

      MsgBox "File Renamed Successfully !!! "

      Set fso= Nothing

      Set fs=Nothing

提交回复
热议问题