Войти

Показать полную графическую версию : [решено] Удаление папки с указанием относительного пути


BKPB
05-06-2020, 20:45
Нужно удалить папку System Tools которая находится в C:\Users\Администратор ПК\AppData\Roaming\Microsoft\Windows\Start Menu\Programs.
Но с указанием относительного пути %APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools

megaloman
05-06-2020, 23:44
DelFold = "Microsoft\Windows\Start Menu\Programs\System Tools"
EnvFolder = "%AppData%"

Set WSS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")

DelPath = WSS.ExpandEnvironmentStrings(EnvFolder) + "\" + DelFold
If FSO.FolderExists(DelPath) Then Rez = FSO.DeleteFolder(DelPath, True)

BKPB
05-06-2020, 23:49
megaloman, Огромное спасибо.

Iska
06-06-2020, 05:01
Чуть глы́́бже:
Option Explicit

Dim objFolderPrograms
Dim strFolder

With WScript.CreateObject("Scripting.FileSystemObject")
Set objFolderPrograms = WScript.CreateObject("Shell.Application").NameSpace("shell:Programs")

If Not objFolderPrograms Is Nothing Then
strFolder = .BuildPath(objFolderPrograms.self.Path, "System Tools")

If .FolderExists(strFolder) Then
.DeleteFolder strFolder, True
Else
WScript.Echo "Can't find folder [" & strFolder & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Can't determine explorer alias [shell:Programs]."
WScript.Quit 1
End If

Set objFolderPrograms = Nothing
End With

WScript.Quit 0

Iska
06-06-2020, 15:19
Then Rez = FSO.DeleteFolder(DelPath, True) »
megaloman, метод .DeleteFolder() не возвращает результата своей работы (функция типа void).




© OSzone.net 2001-2012