我有一个程序可以更改 Gcode 文件中的一些文本。简单的事情,例如改变某些运动的转速。现在我正在移动某些包含
G119
的文件。如果所有文件都移动了,原来的文件夹是空的,我想删除它。
这是我尝试过的:
Function DeleteEmptyFolder(strFile)
Dim fs, ts, contents, MainFolder, ParentFolder, BrugFolder
set fs = CreateObject("Scripting.FileSystemObject")
MainFolder = fs.GetParentFolderName(strFile)
ParentFolder = fs.GetParentFolderName(MainFolder)
BrugFolder = MainFolder & "_Brug\"
if (MainFolder.files.count = 0) then
wscript.echo "works till here"
End if
End function
其中
strFile
是 strFile = (file.path)
。
我得到的错误是
Object required: 'MainFolder'
所以我尝试将其更改为
Function DeleteEmptyFolder(ByRef strFile)
。只是想尝试一下。
我也尝试过
if (fs.GetParentFolderName(strFile).files.count = 0) then
看看它是否充当一个对象,但它没有。
那么我可以将字符串“转换”为对象吗?或者给一个函数一个对象?
或者这不是正确的方法,我是否必须以完全不同的方式来实现这一目标?
我可以将这些行粘贴到原始程序中,而不是使用单独的函数,但我尝试了解 VBS。所以我想也许真的有办法做到这一点。
篷是用
.GetFolder
。 .GetParentFolderName
获取字符串形式的名称。
代码现在看起来像这样:
Function DeleteEmptyFolder(strFile)
Dim fs, ts, contents, MainFolder, ParentFolder, BrugFolder
set fs = CreateObject("Scripting.FileSystemObject")
MainFolder = fs.GetParentFolderName(strFile)
set GetFolder = fs.GetFolder(Mainfolder)
ParentFolder = fs.GetParentFolderName(MainFolder)
BrugFolder = MainFolder & "_Brug\"
if (GetFolder.files.count = 0) then
wscript.echo "works till here"
End if
End function