无法通过 VBScript 中的命令删除带有 GIT 存储库的文件夹



我正在使用质量中心在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

间接删除,它就像一个魅力。原因:还是不知道为什么。

最新更新