我正在使用质量中心在Windows 8中执行测试。VBScript 文件创建一个临时(带时间戳(的工作区/文件夹来克隆 git 存储库并执行测试。
当我尝试在测试结束时删除文件夹时,它不起作用并给出错误:字段类型定义无效。
如果我使用非 git 存储库和静态项目,则此代码工作正常。如果我手动删除 .git 文件夹,脚本能够删除剩余的文件夹/文件。
'''workspace = "C:tests20170613224942"
Dim objFSO, objFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CreateFolder(workspace)
'git clone
'Test Execution
Dim objFSO, objFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFolder(workspace)
我已经尝试过(不成功(这样的事情:
objShell.Run "rmdir /S /Q " & workspace
我不知道它是否与隐藏文件夹有关,所以我尝试了这个:
del /s /a *.git
但这仅适用于文件,在这种情况下,仅隐藏文件夹。不是子文件夹/子文件。
有人可以帮助我解决这个问题吗?如何通过脚本强制自动删除文件夹?谢谢。
你能试试:
git rm -r gitDirectoryToRemove
然后您的代码以根据需要删除父级
找到了一个临时解决方案。也许不是一个优雅的,但解决了问题。我创建了一个.bat文件,仅用于删除通过参数传递的文件夹,并在 VBS 中调用它。
蝙蝠文件:
@echo off
@echo Try to removing %1
rmdir "%1" /s/q
VBS 呼叫:
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "C:testsrm_workspace.bat " & workspace
间接删除,它就像一个魅力。原因:还是不知道为什么。