Невозможно удалить папку с 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
а затем ваш код для удаления родителя, если требуется