forum.wfido.ru  

Вернуться   forum.wfido.ru > Архив Калужских эх > ARC2.KLG.SOFTHARD

ARC2.KLG.SOFTHARD Архив Калужской эхи о софте и железе

 
 
Опции темы Опции просмотра
  #1  
Старый 09.10.2018, 15:17
Alex 8elov
Guest
 
Сообщений: n/a
По умолчанию Rar - удалить файлы

Alex 8elov написал(а) к All в Dec 05 15:00:00 по местному времени:


Подскажите, как можно из RAR-архивов удалить файлы определённого
размера?

ТЗ есть огромная туча RAR-архивов, в них есть файлы XXXXXX.EXE
определённого размера, но с разным названием, надо из всех
архивов вычистить эти файлы.


... Всякий Наp0д имеет пpавительств0, к0т0p0е ег0 имеет...
--- http://udav-st.pisem.net.·∙udAV-STAT...v-st.pisem.net ---
  #2  
Старый 09.10.2018, 15:17
Ivan Kovalef
Guest
 
Сообщений: n/a
По умолчанию Re: Rar - удалить файлы

Ivan Kovalef написал(а) к Alex 8elov в Dec 05 16:20:36 по местному времени:


Привет Alex!

25 Дек 05 15:00, Alex 8elov -> All:
Ae> Подскажите, как можно из RAR-архивов удалить файлы определённого
Ae> размера?

Ae> ТЗ есть огромная туча RAR-архивов, в них есть файлы XXXXXX.EXE
Ae> определённого размера, но с разным названием, надо из всех
Ae> архивов вычистить эти файлы.

VBScript тебе в помощь, добpый человек. И объект FSO.

Что типа этого:
-------------------------------------------
Dim oFS
Dim oFolder
Dim oFiles
Dim oFile
Dim Arg, txtNewPath, txtSize, opCode

Const CODE_LIST = 0
Const CODE_DO = 1

set oFS = CreateObject("Scripting.FileSystemObject")

set Arg = wscript.Arguments


if Arg.Count = 0 then
txtPath = oFS.GetParentFolderName(wscript.ScriptFullName)
opCode = CODE_LIST
'wscript.echo ">> ", txtPath
'wscript.quit
end if

if Arg.Count = 1 then
txtPath = oFS.GetParentFolderName(wscript.ScriptFullName)
txtSize = Arg(0)
opCode = CODE_DO
end if

if Arg.Count = 2 then
txtPath = oFS.GetAbsolutePathName(Arg(0))
txtSize = Arg(1)
opCode = CODE_DO
end if

if Arg.Count > 2 then
wscript.echo "Too many arguments!"
Wscript.Quit
end if


set oFolder = oFS.GetFolder(txtPath)

wscript.echo "=============================="
wscript.echo "Size = ", txtSize
wscript.echo "=============================="

set oFiles = oFolder.Files

Select Case opCode
Case CODE_LIST
for each oFile in oFiles
Wscript.Echo "File name: > ", oFile.ShortName
Wscript.Echo "File name: > ", oFile.Size
next
Case CODE_DO
for each oFile in oFiles
Wscript.Echo "File name: > ", oFile.ShortName
Wscript.Echo "File name: > ", oFile.Size
if cLng(oFile.Size) = cLng(txtSize) then
Wscript.Echo "This File must be DELETED."
'Здесь можно написать следующее: oFile.Delete
oFile.Delete 'Удаляет файл.
end if
next

End Select


-----------------------------------------------------------

Можно пpидумать ещё и не точно совпадение до байтов, а в пpеделах некоего окpугления.

Ivan
ЖЖ: http://www.livejournal.com/~tchr

---
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Выкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:15. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot