2017-06-14 93 views
0

我正在使用Quality Center在Windows 8中执行测试。 VBScript文件创建一个临时(有时间戳的)工作区/文件夹来克隆git存储库并执行测试。无法通过命令在VBScript中删除GIT repo文件夹

当我在测试结束时尝试删除文件夹时,它不起作用并出现错误:无效的字段类型定义

如果我使用非git存储库和静态项目,此代码正常工作。如果我手动删除.git文件夹,该脚本能够删除剩余的文件夹/文件。

'''workspace = "C:\tests\20170613224942" 
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 

但这只是适用于文件,在这种情况下只有文件夹被隐藏。不是子文件夹/子文件。

有人可以帮我解决这个问题吗?我如何通过脚本自动强制删除文件夹? 谢谢。

回答

0

你可以尝试:

git rm -r gitDirectoryToRemove 

,然后你的代码,如果需要

+0

我试过并给我错误:致命:不是git存储库(或任何父目录):.git – koxta

+0

明白了。然后你试图从非git目录访问GIT /试图命令。在输入git命令之前,您应该将目录更改为git父文件夹 – smilyface

+0

在git父文件夹中,该命令可以工作,但只有项目/代码被删除。文件夹** .git **(有问题的文件夹)未被删除。 – koxta

0

发现了一个临时的解决方案,以除去父。也许不是一个优雅的,但解决了这个问题。 我创建了一个.bat文件,仅用于删除参数传递的文件夹,我在VBS中调用它。

BAT文件:

@echo off 
@echo Try to removing %1 
rmdir "%1" /s/q 

VBS电话:

Set objShell = CreateObject("Wscript.Shell") 
objShell.Run "C:\tests\rm_workspace.bat " & workspace 

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

相关问题