Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Отбор файлов по расширению, последующее их удаление.

Ответить
Настройки темы
VBS/WSH/JS - Отбор файлов по расширению, последующее их удаление.

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть вот такой скриптик но гад не хочет работать, выдает синтаксическую ошибку на 8 строке в 1 символе.
Обьясните ламеру что не так, может у кого есть примеры свойх скриптов.
Вообще задача такая есть папка с кучей подпапок и файлов, необходимо из всего этого мусора отобрать файлы по расширению(ям), собрать их в одном месте, грохнуть все потом разом.


Set FSO = CreateObject("Scripting.FileSystemObject")
sEXT ="mp3"
sDIR ="d:\temp1"
sNEW ="d:\temp"
Set objDIR =GetFolder(sDIR)
GoSubFolder objDIR
Sub MainSub (objDIR)
For Each efile in objDIR.files
fNAME=efile
fEXT =FSO.GetExtensionName(efile.Path)
if LCase (fEXT)= LCase(sEXT) Then sEXIST= sNEW & efile.NAME
if ((FSO.FileExists(sEXIST)) AND (efile<>sEXIST)) Then
delFile sEXIST
End if
On Error Resume Next
MoveFile efile. sNEW
Next
End Sub

Отправлено: 07:40, 03-03-2010

 

Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата SaintVictor:
необходимо из всего этого мусора отобрать файлы по расширению(ям), собрать их в одном месте, грохнуть все потом разом. »
я такую задачу делаю через поиск Win7. в поиске вбиваю *.mp3 а потом в окне поиска прямо их все выделяю и удаляю. винь сама их удаляет из их папок
или по этой же схеме вместо удаления нажать Ctrl+X Ctrl+V куда надо

Отправлено: 08:11, 22-05-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SaintVictor:
Обьясните ламеру что не так »
это лишь кусок скрипта, в котором отсутствует определение ф-ции GoSubFolder

Цитата SaintVictor:
Вообще задача такая есть папка с кучей подпапок и файлов, необходимо из всего этого мусора отобрать файлы по расширению(ям), собрать их в одном месте »
где-то так:
Код: Выделить весь код
Set oFSO = CreateObject("Scripting.FileSystemObject")
MoveByExt "d:\temp1", "d:\temp", "mp3"

Sub MoveByExt(sDirFrom, sDirTo, sFileExt)
  Dim oS, cS, oD, sD, oI, cF
  If Not oFSO.FolderExists(sDirTo) Then oFSO.CreateFolder(sDirTo)

  Set oS = oFSO.GetFolder(sDirFrom)
  Set oD = oFSO.GetFolder(sDirTo)
  Set cS = oS.SubFolders

  On Error Resume Next
  For Each oI In cS
    MoveByExt oI.Path, sDirTo, sFileExt
  Next

  Set cF = oS.Files
  For Each oI In cF
    If StrComp(oFSO.GetExtensionName(oI.Path),sFileExt,1)=0 Then oI.Move(oD.Path &"\")
  Next
End Sub
З.Ы. из множества одноименных файлов будет перенесен только первый

Отправлено: 10:10, 22-05-2010 | #3


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Просто получается решить задачу с помощью батника.
Код: Выделить весь код
@Echo Off
Set Fold=E:\Delete\
Set Ext=avi

Set FoldExt=%Fold:~0,-1%.%Ext%\

FOR /F "usebackq delims=" %%i IN (`dir "%Fold%" /A:D /B /s`) DO Call :SubDir "%%~fi" "%%i"
GoTo :EOF

:SubDir
Set L=True
Set ff=%~1
Set ff=%FoldExt%%ff:~3%\

FOR %%s IN ("%~1\*.%Ext%") DO (
   If %L%==True Md "%ff%" >Nul 2>Nul
   Set L=False
   Move /Y "%%~fs" "%ff%" >Nul
)
Рядом с исходной директорией (в примере E:\Delete\) создаём директорию с таким же именем, но с расширением файлов (в примере E:\Delete.avi\)
И туда перемещаем все файлы с указанным расширением, сохраняя дерево директорий. Зачем? - сохраняем в целостности одноимённые файлы, да и вернуть всё назад при этом очень просто-ничего необратимого при этом мы не делаем. Впоследствии убить директорию - нет проблем.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 13:21, 22-05-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Отбор файлов по расширению, последующее их удаление.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Запрет записи файлов на сетевые ресурсы по расширению Arkan190 Microsoft Windows NT/2000/2003 6 20-06-2011 10:58
Доступ - Простой запрет копирования файлов по расширению Dimly Microsoft Windows 2000/XP 2 17-08-2009 09:09
Разное - Всегда скрывать определенный тип файлов по расширению garkin123 Microsoft Windows Vista 3 23-05-2009 01:49
[решено] Поиск файлов в подпапках и их последующее копирование D_Master AutoIt 4 10-02-2009 07:32
Фильтр по расширению файлов для Win 2003 L13 Microsoft Windows NT/2000/2003 2 07-06-2006 10:46




 
Переход