'================================================ ==========================================
'
'Vbscript source file -- created with sapien technologies primalscript 4.0
'
'Name:
'
'Author: Microsoft, Microsoft
'Date: 2014/7/9
'
'Comment: 'batch modify all file names in the folder
'
'================================================ ==========================================
'Select my computer as the root directory to select the Directory
Const my_computer = & H11 &
Const window_handle = 0
Const Options = 0
Set objshell = Createobject ("Shell. Application ")
Set objfolder = objshell. namespace (my_computer)
Set objfolderitem = objfolder. Self
Strpath = objfolderitem. Path
Set objshell = Createobject ("Shell. Application ")
Set objfolder = objshell. browseforfolder _
(Window_handle, "select a folder:", options, strpath)
If objfolder is nothing then
Wscript. Quit
End if
Set objfolderitem = objfolder. Self
Objpath = objfolderitem. Path
'Msgbox objfolderitem. Name
'================================================ ======================================
'Select the directory under the specified drive letter
'Const window_handle = 0
'Const Options = 0
'
'Set objshell = Createobject ("Shell. Application ")
'Set objfolder = objshell. browseforfolder _
'(Window_handle, "select a folder:", options, "C :\")
'
'If objfolder is nothing then
'Wscript. Quit
'End if
'
'Set objfolderitem = objfolder. Self
'Objpath = objfolderitem. Path
'
'Msgbox objpath
'================================================ ========================================
'Define variables
Dim file_path, prefix_name, suffix_name, repeat_name, repeat_edit
Dim oneline, twoline, threeline, fourline, fiveline
I = 0
Test = Createobject ("scripting. FileSystemObject"). GetFile (wscript. scriptfullname). parentfolder. Path
'Wscript. Echo Test
Filepath = Test & "\ config. ini"
'Wscript. Echo filepath
'File_path = "C: \ Users \ Administrator \ Desktop \ 1 \ music" 'path of the target folder
Dst_file_path = "C: \" & objfolderitem. Name & "_ Bak"
File_path = objpath
'----- Get the folder path and open the configuration file
Set FSO = Createobject ("scripting. FileSystemObject ")
Set folder = FSO. getfolder (file_path)
Set FS = folder. Files
Set file = FSO. opentextfile (filepath, 1)
'---------------- Back up the original file before the operation
FSO. copyfolder file_path, dst_file_path, true
'----------------------------------
'Retrieve the two numbers in the first row.
Oneline = file. Readline
Onelinestr = Split (oneline, "= ")
Onelinecount = ubound (split (oneline, "= "))
For I1 = 0 to onelinecount
'Wscript. Echo onelinestr (I1)
Next
'-------------------------------------
'Retrieve the two numbers in the second row.
Twoline = file. Readline
Twolinestr = Split (twoline, "= ")
Twolinecount = ubound (split (twoline, "= "))
For I2 = 0 to twolinecount
'Wscript. Echo twolinestr (I2)
Next
'-------------------------------------------
'Retrieve the two numbers in the third row.
Threeline = file. Readline
Threelinestr = Split (threeline, "= ")
Threelinecount = ubound (split (threeline, "= "))
For I3 = 0 to threelinecount
'Wscript. Echo threelinestr (I3)
Next
'-------------------------------------------
'Retrieve the two numbers in the fourth row.
Fourline = file. Readline
Fourlinestr = Split (fourline, "= ")
Fourlinecount = ubound (split (fourline, "= "))
For I4 = 0 to fourlinecount
'Wscript. Echo fourlinestr (I4)
Next
'-----------------------------------------
'Retrieve the two numbers in the fifth row.
Fiveline = file. Readline
Fivelinestr = Split (fiveline, "= ")
Fivelinecount = ubound (split (fiveline, "= "))
For I5 = 0 to fivelinecount
'Wscript. Echo fivelinestr (I5)
Next
'---------------------------------------------
'Call Process
'Function _ main ()
Function function_main ()
If onelinestr (1) = "true" then
Function_prefix_name ()
Elseif onelinestr (1) = "false" then
Function_suffix_name ()
Elseif onelinestr (1) = "Number" then
Function_number_value ()
Elseif onelinestr (1) = "array" then
Function_myarrayrename ()
Elseif onelinestr (1) = "" then
Wscript. Quit
End if
End Function
'-----------------------------------------
'Add the prefix before the original name
Function function_prefix_name ()
For each file in FS
File. Name = twolinestr (1) & file. Name
Next
End Function
'--------------------------------------
'Add a suffix before the original name
Function function_suffix_name ()
For each file in FS
Name = mid (file. Name, 1, faster Rev (file. Name, ".")-1) 'get the file name before.
Format = mid (file. Name, file. Name (file. Name, ".") '.
File. Name = Name & threelinestr (1) & format
Next
End Function
'--------------------------------------------
'Add an ordered auto-increment number before the original name
Function function_number_value ()
For each file in FS
Fourlinestr (1) = fourlinestr (1) + 1
File. Name = fourlinestr (1) & file. Name
Next
End Function
'Function _ suffix_name ()
'--------------------------------------------------
'Change file names in batches
Function function_myarrayrename ()
Const beforalarm = "the prisoner has been in jail. Please observe"
Const afteralarm = "in the event of prisoner violence, various teams should handle it as planned"
Dim myarray (12)
N = 1
Y = 0
For I = 0 to 12
If I = 11 then
Myarray (I) = "door guard"
Elseif I = 12 then
Myarray (I) = "self-defense whistle"
Else
Myarray (I) = N & "no"
N = n + 1
End if
'Wscript. Echo myarray (I)
Next
For each file in FS
Format = mid (file. Name, faster Rev (file. Name ,"."))
'Msgbox format
'Msgbox myarray (y)
If fivelinestr (1) = "before" then
File. Name = myarray (y) & beforalarm & format
Elseif fivelinestr (1) = "after" then
File. Name = myarray (y) & afteralarm & format
Else
Msgbox "Please set before confirmation or after confirmation! "," Prompt"
Wscript. Quit
End if
Y = Y + 1
'Wscript. ECHO file. Name
Next
End Function
'================================================ ======================================
'If prefix_name <> "" then' batch prefix
'For each F in FS
'F. Name = prefix_name & F. Name
'Next
'End if
'
'If suffix_name <> "" then' batch suffix
'For each F in FS
'Name = mid (F. Name, 1, Rev (F. Name, ".")-1)
'Format = mid (F. Name, Rev (F. Name ,"."))
'F. Name = Name & suffix_name & format
'Next
'End if
'
'If repeat_name <> "" then' batch Delete identical characters
'For each F in FS
'On error resume next
'F. Name = Replace (F. Name, repeat_name, repeat_edit)
'Next
'End if
''----- File operation ended
'
'Set FSO = nothe' to release memory
'
'Msgbox ("finished! ")
######################################## ################
Config. ini file content:
Statue =
Prefix_name = [320kbp]
Suffix_name = [end]
I = 20140100.
Array =
######################################## #####################
How to configure parameters:
Add a prefix when statue is set to true.
Add a suffix when statue is set to false.
When statue is set to number, an ordered auto-increment number is added.
Statue = array: calls the Array Function
Statue = NULL, no processing. Exit the script operation.
When array = before, set it to before confirmation.
When array = after, it is set to OK.
When array = is null, a prompt is displayed to exit the script operation.
Vbs allows you to batch rename files and back up original files before performing operations