我仍在学习 VBS,不确定我是否以正确或最有效的方式进行此操作。测试场景如下,除了常规桌面项目之外,我还添加了三个名为:
"Tool - YouTube"
"welcome to facebook"
"BBC news"
当我的代码(底部)运行时,它会按预期创建“Sorted”文件夹(如果它不存在),但“instr”函数只找到并移动“BBC news”文本文件。此外,如果“Sorted”文件夹已存在且其中包含“BBC news”文本文件,则运行脚本将返回。
Line 20
Char 2
Error: File already exists
Code: 800A003A
脚本在工作时应该根据搜索字符串找到“源”文件夹中的任何文件,并将它们移动到另一个“目标”文件夹。如果“目标”文件夹中存在重复项,则应将其替换为“源”文件夹中的文件。请任何人解释我应该应用哪些更改才能使我的脚本正常工作?
dim fso, folder, newfolder, sourcefolder, destfolder, searchname1, searchname2, searchname3
sourcefolder = "C:\Users\...\Desktop"
destfolder = "C:\Users\...\Desktop\Sorted\"
searchname1 = "youtube"
searchname2 = "bbc"
searchname3 = "facebook"
set fso = createobject("scripting.filesystemobject")
set folder = fso.getfolder(sourcefolder)
if not fso.folderexists(destfolder) then
newfolder = fso.createfolder(destfolder)
wscript.echo "'Sorted' folder created in path: " & vbcrlf & sourcefolder
end if
for each file in folder.files
x = fso.getbasename(file)
if instr(lcase(x), searchname1) > 0 or instr(lcase(x), searchname2) or instr(lcase(x), searchname3) then
fso.movefile sourcefolder & "\" & file.name, destfolder
wscript.echo"Files moved to 'Sorted' in path: " & vbcrlf & sourcefolder
wscript.quit()
else
wscript.echo "No matches found"
wscript.quit()
end if
next