怎么写。用VBS重命名文件夹?
我想重命名指定目录的一个文件夹,如:c:\windows\sypad的sypad文件夹改成sad,怎么写才能实现呢?在线等哦,深夜。好冷呀。辛苦大家了----------...
我想重命名指定目录的一个文件夹,如:c:\windows\sypad 的sypad文件夹改成 sad ,怎么写才能实现呢?
在线等哦,深夜。好冷呀。辛苦大家了
--------------------------------- 展开
在线等哦,深夜。好冷呀。辛苦大家了
--------------------------------- 展开
3个回答
展开全部
使用 FSO 对象的 MoveFolder 方法(需要必要权限),可以移动或重命名文件夹。
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFolder "旧名字", "新名字"
旧名字可含有通配符,通配符一般是用于将多个对象成批移动到新的位置,新名字中则不能含通配符。给文件夹改名的话,应该一次一个;而成批移动时,会把符合要求的所有对象移动到新名字指定的位置处。
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFolder "旧名字", "新名字"
旧名字可含有通配符,通配符一般是用于将多个对象成批移动到新的位置,新名字中则不能含通配符。给文件夹改名的话,应该一次一个;而成批移动时,会把符合要求的所有对象移动到新名字指定的位置处。
展开全部
可以用 FSO 组件。
Function GetScriptPath()
GetScriptPath = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - Len(WScript.ScriptName))
End Function
Class MyFileOperator
Private obj
Private Sub Class_Initialize()
Set obj = CreateObject("Scripting.FileSystemObject")
End Sub
Private Sub Class_Terminate()
Set obj = Nothing
End Sub
' 枚举文件
Public Function ListFiles()
Dim path :path = GetScriptPath()
Dim objFolder :Set objFolder = obj.GetFolder(path)
Dim files()
Dim i :i = 0
For Each objFile in objFolder.Files
ReDim Preserve files(i)
files(i) = objFile.Name
i = i + 1
Next
Set objFolder = Nothing
ListFiles = files
End Function
' 文件改名
Public Sub ChangeFileName(source, dest)
Call obj.MoveFile(source, dest)
End Sub
End Class
Dim fop :Set fop = New MyFileOperator
Dim files :files = fop.ListFiles()
Dim prefix :prefix = InputBox("请输入文件名前缀:")
Dim i
For i = 0 To UBound(files)
Call fop.ChangeFileName(GetScriptPath() & files(i), GetScriptPath() & prefix & files(i))
Next
MsgBox "文件更名完毕!", MB_OK Or MB_ICONQUESTION, "提示:"
Function GetScriptPath()
GetScriptPath = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - Len(WScript.ScriptName))
End Function
Class MyFileOperator
Private obj
Private Sub Class_Initialize()
Set obj = CreateObject("Scripting.FileSystemObject")
End Sub
Private Sub Class_Terminate()
Set obj = Nothing
End Sub
' 枚举文件
Public Function ListFiles()
Dim path :path = GetScriptPath()
Dim objFolder :Set objFolder = obj.GetFolder(path)
Dim files()
Dim i :i = 0
For Each objFile in objFolder.Files
ReDim Preserve files(i)
files(i) = objFile.Name
i = i + 1
Next
Set objFolder = Nothing
ListFiles = files
End Function
' 文件改名
Public Sub ChangeFileName(source, dest)
Call obj.MoveFile(source, dest)
End Sub
End Class
Dim fop :Set fop = New MyFileOperator
Dim files :files = fop.ListFiles()
Dim prefix :prefix = InputBox("请输入文件名前缀:")
Dim i
For i = 0 To UBound(files)
Call fop.ChangeFileName(GetScriptPath() & files(i), GetScriptPath() & prefix & files(i))
Next
MsgBox "文件更名完毕!", MB_OK Or MB_ICONQUESTION, "提示:"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
rename "c:\windows\sypad" sad
pause
将以上代码另存为bat格式。
------
那你究竟有没有那个文件夹在c:\windows\啊?
rename "c:\windows\sypad" sad
pause
将以上代码另存为bat格式。
------
那你究竟有没有那个文件夹在c:\windows\啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询