我想用VBScript替换一个名字不同的文件。输入文件名可能包含也可能不包含空格。
Set objFSO = CreateObject("Scripting.FileSystemObject")
' First parameter: original location\file
' Second parameter: new location\file
objFSO.CopyFile "D:\Development\abc def.txt", "D:\Development\xyz.txt"
答案 0 :(得分:2)
也许令人惊讶的是,CopyFile
创建了源文件的副本。要重命名文件,您可以使用MoveFile
,但通常的方法是只更改文件的name:
Set fso = CreateObject("Scripting.FileSystemobject")
fso.GetFile("D:\Development\abc def.txt").Name = "xyz.txt"
修改:如果您实际上是要将一个文件替换为另一个文件,则可以通过将第三个参数(覆盖)设置为CopyFile
来执行此操作True
,@Lankymart在评论中指出。
fso.CopyFile "D:\Development\abc def.txt", "D:\Development\xyz.txt", True
如果您不想保留源文件,则需要在复制操作后删除它(VBScript不允许在现有文件上移动文件)。或者,您可以先删除目标文件,然后移动或重命名源文件。