替换文件名可能包含也可能不包含文件名中的空格

时间:2017-03-21 12:32:07

标签: vbscript filenames space

我想用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"

1 个答案:

答案 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不允许在现有文件上移动文件)。或者,您可以先删除目标文件,然后移动或重命名源文件。