2017-06-14 89 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 

刪除間接,它就像一個魅力。 原因:仍然不知道爲什麼。

相關問題