Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Snerov1k

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Call GoScript()  
 
'Пример запуска скрипта  
'%winbootdir%\wscript.exe "E:\temp\bat\extr_att.vbs" -p"E:\temp\bat" -z"C:\nt-zip" -r"C:\WINRAR" -a"C:\ARJ"  
'-------------------------  
sub GoScript()  
Dim obj, i  
Dim Path, ZipPath, rarPath, arjPath, acePath, haPath  
dim oArgs  
 
' !!!лично у меня все архиваторы сложены в одну директорию Windows  
 
Path=""  
ZipPath=""  
rarPath=""  
arjPath=""  
acePath=""  
haPath=""  
 
'test.vbs -p"E:\temp\bat" -z"d:\WINDOWS" -r"d:\WINDOWS" -a"d:\WINDOWS"  
'закомментированы пути для АСЕ и НА                    -c"" -ha""  
 
Set oArgs = Wscript.Arguments  
if oArgs.Count>0 then  
    for i=0 to oArgs.Count-1  
        tmpstr = Replace(LCase(oArgs(i)), chr(34), "")  
        if instr(1, tmpstr, "-p")>0 then Path=mid(tmpstr, 3, len(tmpstr))  
        if instr(1, tmpstr, "-z")>0 then ZipPath=mid(tmpstr, 3, len(tmpstr))  
        if instr(1, tmpstr, "-r")>0 then rarPath=mid(tmpstr, 3, len(tmpstr))  
        if instr(1, tmpstr, "-a")>0 then arjPath=mid(tmpstr, 3, len(tmpstr))  
        if instr(1, tmpstr, "-c")>0 then acePath=mid(tmpstr, 3, len(tmpstr))  
        if instr(1, tmpstr, "-ha")>0 then haPath=mid(tmpstr, 4, len(tmpstr))  
    next  
end if  
 
 
if Path = "" then Path = "E:\temp\bat" 'директория куда сохранили файлики  
 
if ZipPath = "" then ZipPath = "d:\WINDOWS" ' chr(34) & ZipPath & "\pkzip25.exe" & chr(34) & " -ext -over=all " & chr(34) & Path & "\*.zip" & chr(34) & " " & chr(34) & Path & chr(34)  
 
' рекомендую использовать Info-ZIP взять её можно здесь ftp://ftp.uu.net/pub/archiving/zip/WIN32/  
' или любую другую утилиту, которая понимает длинные имена  
 
if rarPath = "" then rarPath = "d:\WINDOWS" ' chr(34) & rarPath & "\RAR.EXE" & chr(34) & " x -o+ -y " & chr(34) & Path & "\*.rar" & chr(34) & " " & chr(34) & Path & chr(34)  
if arjPath = "" then arjPath = "d:\WINDOWS" ' arjPath & "\ARJ.EXE x -y " & chr(34) & Path & "\*.arj"  & chr(34) & " " & chr(34) & Path & chr(34)  
'if acePath = "" then acePath = ""  
'if haPath = "" then haPath = ""  
 
'Wscript.Sleep(15000) ' спим 15 секунд, покуда бат савает файлики  
' это необходимо чтобы избежать возможного конфликта доступа к файлам  
 
if CheckExt(Path, "zip")=true then 'проверяем наличие zip файлов в директории Path  
    RunCommand chr(34) & ZipPath & "\pkzip25.exe" & chr(34) & " -ext -over=all " & chr(34) & Path & "\*.zip" & chr(34) & " " & chr(34) & Path & chr(34) ' формируем командную строку  
end if  
 
if CheckExt(Path, "rar")=true then 'проверяем наличие rar файлов в директории Path  
    RunCommand chr(34) & rarPath & "\RAR.EXE" & chr(34) & " x -o+ -y " & chr(34) & Path & "\*.rar" & chr(34) & " " & chr(34) & Path & chr(34)  ' формируем командную строку  
end if  
 
if CheckExt(Path, "arj")=true then 'проверяем наличие arj файлов в директории Path  
    RunCommand arjPath & "\ARJ.EXE x -y " & chr(34) & Path & "\*.arj"  & chr(34) & " " & chr(34) & Path & chr(34)  
end if  
 
end sub  
'----------------------------  
 
sub RunCommand(stAppName)  
    Set obj = WScript.CreateObject("WScript.Shell")  
    obj.run stAppName, 1, true ' запущаем программку  
    Set obj = nothing  
'    MsgBox "Усё OK"  
end sub  
 
function CheckExt(DirName, Ext)  
Dim fso, f, f1, fc, s  
CheckExt = false  
Set fso = CreateObject("Scripting.FileSystemObject")  
Set f = fso.GetFolder(DirName)  
Set fc = f.Files  
 
Ext = LCase(Ext)  
For Each f1 in fc  
    s = LCase(fso.GetExtensionName(f1.name))  
    if s=Ext then  
        CheckExt = true  
        Exit For  
    end if  
Next  
end function

Всего записей: 5 | Зарегистр. 12-10-2006 | Отправлено: 23:55 17-10-2006
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru