Невозможно удалить папку с GIT-репо с помощью команды в VBScript

Я использую Quality Center для выполнения тестов в Windows 8. Файл VBScript создает временную (временную метку) рабочую область / папку для клонирования репозитория git и выполнения теста.

Когда я пытаюсь удалить папку в конце теста, она не работает и выдает ошибку: Неверное определение типа поля.

Этот код работает нормально, если я работаю с не 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

Но это работает только для файлов, и в этом случае только папка скрыта. Не подпапки / подпапки.

Может кто-нибудь помочь мне решить эту проблему? Как я могу принудительно удалить папку автоматически через скрипт? Спасибо.

2 ответа

Нашел временное решение. Может быть, не элегантный, но решает проблему. Я создал файл .bat только для удаления папки, переданной аргументом, и я вызываю ее в VBS.

Файл летучей мыши:

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

VBS Call:

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

Удаление косвенно, это работает как шарм. Причина: до сих пор не знаю, почему.

Ты можешь попробовать:

git rm -r gitDirectoryToRemove

а затем ваш код для удаления родителя, если требуется

Другие вопросы по тегам