forum.wfido.ru

forum.wfido.ru (https://forum.wfido.ru/index.php)
-   ARC2.KLG.SOFTHARD (https://forum.wfido.ru/forumdisplay.php?f=141)
-   -   Rar - удалить файлы (https://forum.wfido.ru/showthread.php?t=57124)

Alex 8elov 09.10.2018 15:17

Rar - удалить файлы
 
Alex 8elov написал(а) к All в Dec 05 15:00:00 по местному времени:


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

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


... Всякий Наp0д имеет пpавительств0, к0т0p0е ег0 имеет...
--- [url]http://udav-st.pisem.net.·∙udAV-STATion∙·.http://udav-st.pisem.net[/url] ---

Ivan Kovalef 09.10.2018 15:17

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
ЖЖ: [url]http://www.livejournal.com/~tchr[/url]

---


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

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