|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Удаление папок средствами Windows |
|
Любой язык - Удаление папок средствами Windows
|
Новый участник Сообщения: 3 |
Помогите новичку плиз.
"Необходимо написать скрипт и запускать его при каждом выходе пользователя из виндоус. Скрипт должен очищать заданную директорию по определенной маске: директория - C:\Users\"ПОЛЬЗОВАТЕЛЬ"\AppData\Local\1C\1cv8 удаляем только папки с названиями типа - 73c58a87-39c7-4571-b760-5a70505b271f статично кол-во символов между дефисами, общее кол-во символов в названии и набор символов - любые цифры и буквы без спецсимволов и пробелов." Вобщем не могу понять как задачу на удаление папок с определённым количеством символов,а остальные файлу и папки,чтоб оставались целыми. |
|
Отправлено: 23:20, 09-07-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
![]() Цитата megaloman:
Скрытый текст
Option Explicit Dim objFSO Dim objFolder Dim strSourceFolder Dim objRegExp Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFolder = WScript.CreateObject("Shell.Application").NameSpace("shell:Local AppData") If Not objFolder Is Nothing Then strSourceFolder = objFSO.BuildPath(objFolder.self.Path, "1C\1cv8") If objFSO.FolderExists(strSourceFolder) Then With WScript.CreateObject("VBScript.RegExp") .IgnoreCase = True .Pattern = "^[0-9a-f]{8}(?:-[0-9a-f]{4}){4}[0-9a-f]{8}$" For Each objFolder In objFSO.GetFolder(strSourceFolder).SubFolders If .Test(objFolder.Name) Then objFolder.Delete True End If Next End With Else WScript.Echo "Can't find source folder [" & strSourceFolder & "]." WScript.Quit 2 End If Else WScript.Echo "Can't connect to Local AppData folder." WScript.Quit 1 End If Set objFSO = Nothing WScript.Quit 0 Цитата mwz:
Цитата megaloman:
|
||||
Отправлено: 10:41, 11-07-2017 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Мой vbs-скрипт с регулярными выражениями и настройками на вид имени
Plan = Array(8, 4, 4, 4, 12) ' Число символов в каждой части имени Delim = "-" ' Разделитель Mask = "[0-9a-z]" ' Маска допустимых символов в имени Set WShell = CreateObject("WScript.Shell") BoxIn = WShell.ExpandEnvironmentStrings("%LocalAppData%") + "\1C\1cv8" Set FSO = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set InBox = FSO.GetFolder(BoxIn) If Err.Number <> 0 Then MsgBox "Папка" + vbCrLf + vbCrLf + BoxIn + vbCrLf + vbCrLf + Err.Description On Error GoTo 0 Else On Error GoTo 0 N1 = LBound(Plan) N2 = UBound(Plan) NLen = 0 For i = N1 To N2 InMask = InMask + Mask + "{" + CStr(Plan(i)) + "}" NLen = NLen + Plan(i) If i <> N2 Then InMask = InMask + Delim NLen = NLen + 1 End If Next Set RegMaska = New RegExp RegMaska.Pattern = InMask RegMaska.IgnoreCase = True Set AllFolders = InBox.SubFolders For Each Folder In AllFolders NameFolder = Folder.Name If NLen = Len(NameFolder) Then If RegMaska.Test(NameFolder) Then On Error Resume Next LL = FSO.DeleteFolder(BoxIn + "\" + NameFolder, True) If Err.Number <> 0 Then MsgBox "Папка" + vbCrLf + vbCrLf + BoxIn + "\" + NameFolder + vbCrLf + vbCrLf + Err.Description End If On Error GoTo 0 ' MsgBox Folder.Name End If End If Next End If "[0-9a-f]" |
------- Последний раз редактировалось megaloman, 11-07-2017 в 11:56. Отправлено: 11:09, 11-07-2017 | #12 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать Цитата megaloman:
Вариант заглавных букв (A-F) не учитывается? Я бы учёл на всякий случай. |
|
------- Отправлено: 11:17, 12-07-2017 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:17, 12-07-2017 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - Удаление папок с установочного диска Windows 7 | Pavel_01 | Microsoft Windows 7 | 1 | 26-01-2015 17:08 | |
Разное - Удаление ненужных (пустых) папок в Windows 7 | Макс Фолдер | Microsoft Windows 7 | 2 | 29-06-2013 18:25 | |
Установка - [решено] Удаление папок Windows.old | Doggy | Microsoft Windows 8 и 8.1 | 3 | 06-03-2012 18:54 | |
Разное - как запланировать удаление файла средствами Windows | jam2551 | Microsoft Windows 2000/XP | 4 | 01-10-2010 04:09 | |
Доступ - [решено] Можно ли проследить средствами Windows удаление файлов | EvgeniyQQQ | Microsoft Windows 2000/XP | 8 | 09-08-2007 14:46 |
|