Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1769
  • Last Modified:

Rename Files by last modified date and extension with VBScript

I have this VBscript that will rename all the files in a directory to the computer name and last date modified. What I need it to do is rename only files of my choosing by it's extension. I have tried several ways but have failed. Below is the code I have so far. Thanks!
' ************************************************************************************
' * Rename files by last modified date: File-Rename.vbs
' *
' * Comments:
' * Created from code snippets on the internet!
' * Will rename all files in folder to computer name and date
' * by the extension you choose
' ************************************************************************************
 
Option Explicit
 
' Defined Variables
DIM objWMIService, oWshNetwork, filelist, strnewname, objfile
Dim strComputerName, strdate, strnamecheck, errResult
 
' Set Variables, these are the only parts that need changed to suit your needs!
Const FilePath = "G:\Scripts\NT Backup Scripts\htm"  'Path to the files
Const FileExt = "html"    'File extension
 
' Set variable defaults
Set oWshNetwork = WScript.CreateObject("WScript.Network")
strComputerName = oWshNetwork.ComputerName
 
' Select File from last modified date and by extension
Set objWMIService = GetObject("winmgmts:\\" & strComputername & "\root\cimv2")
Set FileList = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_Directory.Name='" & FilePath & "'} Where extension = '" & FileExt & "' " & "ResultClass = CIM_DataFile")
 
' Rename files with computer name and last date modified by extension
For Each objFile In FileList
    strDate = Left(objFile.LastModified, 8)
    strNewName = objFile.Drive & objFile.Path & strComputername & "-" & strDate & "." & FileExt
    errResult = objFile.Rename(strNewName)
Next

Open in new window

0
-Manlytrash-
Asked:
-Manlytrash-
1 Solution
 
Shift-3Commented:
You could test for the extension with a separate If statement.


Set objWMIService = GetObject("winmgmts:\\" & strComputername & "\root\cimv2")
Set FileList = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_Directory.Name='" & _
    FilePath & "'} where ResultClass = CIM_DataFile")
 
' Rename files with computer name and last date modified by extension
For Each objFile In FileList
    If LCase(objFile.Extension) = LCase(FileExt) Then
        strDate = Left(objFile.LastModified, 8)
        strNewName = objFile.Drive & objFile.Path & strComputername & "-" & strDate & "." & FileExt
        errResult = objFile.Rename(strNewName)
    End If
Next

Open in new window

0
 
-Manlytrash-Author Commented:
That worked perfectly! I'm not a programmer but can take others code and make it work for me most of the time. Thanks for the quick response!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now