【问题标题】:How to rename a file and overwrite existing in VBS?如何重命名文件并覆盖 VBS 中的现有文件?
【发布时间】:2020-06-02 19:51:51
【问题描述】:

我已经有一个现有的 vbs 脚本,用于从一个位置获取一个文件(标题为“Running_12345.xlsx”)并将其放入标题为“文件夹”的文件夹中。这是一个每小时文件,其名称根据运行时间而定。

现在,我想将文件重命名为“Running.xlsx”以删除不断变化的文件名。最初,此代码有效,但对于任何后续出现,它都会失败,因为“Running.xlsx”文件已经重命名过一次并且现在已经存在。如何向此代码添加覆盖逻辑:

dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

set oFldr = fso.getfolder("folder")

for each ofile in oFldr.Files
 if lcase(fso.GetExtensionName(ofile.Name)) = "xlsx" then
  ofile.name = "Running.xlsx"
  Exit for
 end if
Next

【问题讨论】:

  • 也许你有几个 xlsx 文件和一个已经命名为 Running.xlsx

标签: vbscript rename overwrite


【解决方案1】:

呃,先删除文件。下面的代码做我想要的:

dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

set oFldr = fso.getfolder("C:\Users\brad.ohara\Desktop\MosaicTransforms\")

fso.DeleteFile("C:\Users\brad.ohara\Desktop\MosaicTransforms\MosaicFile.xlsx")



for each ofile in oFldr.Files
 if lcase(fso.GetExtensionName(ofile.Name)) = "xlsx" then
  ofile.name = "MosaicFile.xlsx"
  Exit for
 end if
Next

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2013-01-25
    • 2021-10-25
    • 1970-01-01
    • 2012-01-29
    • 2015-11-25
    相关资源
    最近更新 更多