VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)
'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0
'
' NAME:
'
' AUTHOR: Microsoft , Microsoft
' DATE : 2014/7/9
'
' COMMENT: '批量修改文件夹下对应的所有文件名
'
'==========================================================================
'选择我的电脑作为根目录,来选择目录
' 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 objPath
'===================================================================
'选择指定盘符下的目录
' 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
'=========================================================================
'定义变量
dim file_path,prefix_name,suffix_name,repeat_name,repeat_edit
Dim OneLine,TwoLine,ThreeLine,FourLine,FiveLine
i=0
file_path = "C:\Users\Administrator\Desktop\1\music"'目标文件夹的路径
dst_file_path="C:\Users\Administrator\Desktop\1\music_bak"
'-----得到文件夹路径,且打开配置文件
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.getfolder(file_path)
Set fs = folder.files
Set file=fso.OpenTextFile("E:\PRACTICE\VBS\config.ini",1)
'----------------在操作前,备份一下原有的文件
fso.CopyFolder file_path,dst_file_path,True
'----------------------------------
'取出第一行中的两个数
OneLine=file.ReadLine
OneLineStr=Split(OneLine,"=")
OneLineCount=UBound(split(OneLine,"="))
For i1=0 To OneLineCount
WScript.Echo OneLineStr(i1)
Next
'-------------------------------------
'取出第二行中的两个数
TwoLine=file.ReadLine
TwoLineStr=Split(TwoLine,"=")
TwoLineCount=UBound(split(TwoLine,"="))
For i2=0 To TwoLineCount
WScript.Echo TwoLineStr(i2)
Next
'-------------------------------------------
'取出第三行中的两个数
ThreeLine=file.ReadLine
ThreeLineStr=Split(ThreeLine,"=")
ThreeLineCount=UBound(split(ThreeLine,"="))
For i3=0 To ThreeLineCount
WScript.Echo ThreeLineStr(i3)
Next
'-------------------------------------------
'取出第四行中的两个数
FourLine=file.ReadLine
FourLineStr=Split(FourLine,"=")
FourLineCount=UBound(split(FourLine,"="))
For i4=0 To FourLineCount
WScript.Echo FourLineStr(i4)
Next
'-----------------------------------------
'取出第五行中的两个数
FiveLine=file.ReadLine
FiveLineStr=Split(FiveLine,"=")
FiveLineCount=Ubound(split(FiveLine,"="))
For i5=0 To FiveLineCount
WScript.Echo FiveLineStr(i5)
Next
'---------------------------------------------
'调用过程
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
'-----------------------------------------
'在原有名称前增加前缀
Function Function_Prefix_Name()
For Each file in fs
File.Name=TwoLineStr(1)&File.Name
Next
End Function
'--------------------------------------
'在原有名称前增加后缀
Function Function_Suffix_Name()
For Each file in fs
Name=Mid(file.name,1,instrrev(file.name,".")-1) '取到.号前面的文件名
Format=Mid(file.name,instrrev(file.name,".")) '取到.号后面的后缀格式
file.Name=Name&ThreeLineStr(1)&Format
Next
End Function
'--------------------------------------------
'在原有名称前增加有序自增数字
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()
'--------------------------------------------------
'批量更改名称
Function_MyArrayReName()
Function Function_MyArrayReName()
Const BeforAlarm="发生犯人暴狱,请注意观察"
Const AfterAlarm="发生犯人暴狱,各小组按预案处置"
Dim MyArray(12)
n=1
y=0
For i=0 To 12
If i=11 Then
MyArray(i)="监门哨"
Elseif i=12 Then
MyArray(i)="自卫哨"
Else
MyArray(i)=n&"号哨"
n=n+1
End If
WScript.Echo MyArray(i)
Next
For Each file In fs
Format=Mid(file.name,instrrev(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 "请先设置是确认前还是确认后!",,"提示"
WScript.Quit
End If
y=y+1
WScript.Echo file.name
Next
End Function
'=======================================================================
' If prefix_name <> "" then'批量加前缀
' For each f in fs
' f.name = prefix_name&f.name
' Next
' End If
'
' if suffix_name <> "" then'批量加后缀
' For each f in fs
' name = Mid(f.name,1,InstrRev(f.name,".")-1)
' format = Mid(f.name,InstrRev(f.name,"."))
' f.name = name & suffix_name & format
' Next
' end If
'
' if repeat_name <> "" then'批量删除相同字符
' For each f in fs
' On Error Resume Next
' f.name = Replace(f.name,repeat_name,repeat_edit)
' Next
' end If
' '-----文件操作结束
'
' set fso = nothing'释放内存
'
' MsgBox("完成!")
VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)的更多相关文章
- shell脚本:批量修改文件名
参考链接1:shell脚本:批量修改文件名(删除文件名中字符) 参考链接2:linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 ) 参考链接3:每天一个linux ...
- OpenCV C++ 计算文件夹中对象文件数目及批量处理后保存到txt文件
//采用windows控制台实现计算文件夹中对象总数以及批量读取对象 //#include <afx.h> //和windows.h是一样的作用 #include <opencv2/ ...
- awk批量处理文件夹中所有文件
#c=`` done
- linux批量替换指定文件夹中所有文件的指定内容
命令:sed -i "s#https#http#g" `grep http -rl VEROMODA` 功能:用来替换当前目录VEROMODA文件夹及子文件夹中所有文件中的http ...
- C# 遍历文件夹下所有子文件夹中的文件,得到文件名
假设a文件夹在F盘下,代码如下.将文件名输出到一个ListBox中using System.Data;using System.Drawing;using System.Linq;using Syst ...
- shell脚本:批量修改文件名(添加/删除文件名中字符)
添加字符 举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变: [root@localhost goodboy]# ls adddbbdedf.html baacj ...
- linux(模糊批量删除文件)删除指定文件夹中某个文件除外的其他文件
# shopt -s extglob# rm -fr !(file1)如果是多个要排除的,可以这样:# rm -rf !(file1|file2)首先科普下shopt -s extglobBash S ...
- 文件名保存为.wsf文件即可分析文件夹中每个文件的行数
<job id="HowManyLines"> <script language="VBScript"> Const ForReadin ...
- Java对文件夹中的文件按修改时间排序
import java.io.File; import java.util.Arrays; import java.util.Comparator; import java.util.Date; pu ...
随机推荐
- Java JDBC Batch
Java批量处理数据 import java.sql.Connection; import java.sql.PreparedStatement; //import String sql = &quo ...
- 关于单选按钮在提交时获取所选择的选项得value值问题
在此使用jQuery,别忘记引用. radio在使用时若要判断选中的是哪一个一定要注意区分input的name值.以此来判断你所获取的单选按钮的value值.直接上代码: <body> & ...
- python修炼4
---恢复内容开始--- 集合 建立 set() ={},集合没有顺序,由不可改变的数字 ,字符串,元组构成 #交集print(a&b) #a.intersection(b) #并集prin ...
- mongodb 性能提高之利用索引, 待续
> 10 , 用户无法忍受 >1s , 需要加装中提示 数据库对软件整体影响是不言而喻的, 那么使用 MOngoDB时 该如何提高数据库性能 第一: 索引, 相当于记忆法的 地点桩 1. ...
- UIView 和 CALayer 的区别和联系
UIView是在/System/Library/Frameworks/UIKit.framework定义,也就是处于Cocoa Touch层. CALyer是在/System/Library/Fram ...
- LOOPS
LOOPS 题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3853 递推 设dp[i][j]为(i,j)到终点期望的使用魔力值,mp[i][ ...
- Ubuntu shortcuts
Ubuntu shortcuts 打开系统管理器 gnome-system-monitor
- jquery之全选全不选
<input type="checkbox" onclick="selall(this)" />全选/全不选 <input type=&quo ...
- java.net.NoRouteToHostException: No route to host
报错信息: java.net.NoRouteToHostException: No route to host at java.net.PlainSocketImpl.socketCon ...
- Python库 - import matplotlib.pyplot as plt 报错问题
为了避免各种问题,请使用最新的2.7.13安装文件 1.先设置好环境变量 在path变量中设置好以下路径: C:\Python27\Scripts C:\Python27 2.大部分报错问题 ...