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

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

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

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

KillaJ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush, спасибо за комментарий!B VBS всего неделю.Поэтому не судите строго за ошибки.Скрипт свой не рекомендовал, а выложил чтоб был пример.Спасибо за пункт 2), пункт 3) в моем случае мне подходит, потому что в папке будут только отчеты.
К сожалению, пока нет времени попробывать твой скрипт.
 
 

Всего записей: 14 | Зарегистр. 01-10-2010 | Отправлено: 22:27 09-11-2010
wolf0425



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
посоветуйте как из vbs скрипта пропроверить установленность конкретного принтера?
 
или хотя бы как ключик в регистри почитать...

Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 00:02 12-11-2010
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wolf0425
Поскольку принтера у меня нет - правильность работы скрипта не проверить никак.
Название взял первое попавшееся в гугле.

Код:
Set objWMI = GetObject _
    ("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objPrinters =  objWMI.ExecQuery _
    ("Select * from Win32_Printer Where DeviceID = 'Samsung SCX-3200'")
If objPrinters.Count > 0 Then
    For Each objPrinter in objPrinters
        If objPrinter.Availability = 11 Then
            Wscript.Echo "Принтер ""Samsung SCX-3200"" не установлен"
        End If
    Next
Else
    Wscript.Echo "Принтер ""Samsung SCX-3200"" не установлен"
End If

http://msdn.microsoft.com/en-us/library/aa394363(VS.85).aspx

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 05:38 12-11-2010
abz



Хулиган
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такая задача:
В одной папке лежит файл. В другой - его резервная копия. Мне надо сделать скриптик, который проверял бы размер файла исходника и если он больше 50 килобайт, то копировал бы его с перезаписью и без вопросов в папку резервной копии, а если меньше, то перезаписывал бы исходник файлом из резервной копии (тоже без подтверждений). Поможете?

Всего записей: 14975 | Зарегистр. 04-11-2002 | Отправлено: 03:36 14-11-2010
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abz

Код:
Option Explicit
 
Dim fso, SourFile, DestFile
 
SourFile = "source file path"
DestFile = "backup file path"
 
Set fso = CreateObject("Scripting.FileSystemObject")
 
If fso.GetFile(SourFile).Size > 52100 Then
  fso.CopyFile SourFile, DestFile
Else
  fso.CopyFile DestFile, SourFile  
End If

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 11:36 14-11-2010
abz



Хулиган
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
 
Спасибо. Всё как требовалось!

Всего записей: 14975 | Зарегистр. 04-11-2002 | Отправлено: 12:17 14-11-2010
wolf0425



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как седлать ветвление (прекратить скрипт) если пользователь залогинен не локально на компе, а куда-то терминалом зашел?

Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 20:43 16-11-2010
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, пожалуйста, помогите решить такую задачу. Хотелось бы создать скрипт позволяющий копировать файлы находящиеся в одной папке со скриптом в произвольный каталог (т.е. с выбором целевого каталога). При совпадении имен копируемых файлов с именами файлов в директории назначения, должно выполняться резервное копирование последних в папку Backup. Буду очень благодарен Вашей помощи!

Всего записей: 725 | Зарегистр. 19-02-2008 | Отправлено: 04:46 17-11-2010 | Исправлено: Artem_Butenko, 04:57 17-11-2010
adminchik2010

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Помогите написать скрипт который:
1)Запускает приложение.
2)Поочередно открывает каждый элемент его проводника в отдельном окне(стать левой клавишей мыши на элемент проводника, после нажать правую клавишу и выбрать "Open in new window")
Вот начало:
 
Dim WS
Set WS = WScript.CreateObject("WScript.Shell")
WS.run chr(34)+"C:\Program Files\System Center Operations Manager 2007\Microsoft.MOM.UI.Console.exe"+chr(34)
WshShell.SendKeys("My Workspace")
 
Заранее спасибо!
http://img508.imageshack.us/i/30329188.jpg/

Всего записей: 6 | Зарегистр. 17-11-2010 | Отправлено: 13:45 17-11-2010 | Исправлено: adminchik2010, 14:56 17-11-2010
Pasha_new



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Помогите пожалуйста. Нужна програмка, которая могла брать информацию о архивах из определенной папки (что бы можно было указывать путь в программе/скрипте или же из той папке, где находится исполняемый файл) в текстовый документ. А именно информацию о количестве архивов, размере архива (лучше в МБ, но можно в чём угодно) и название архива. Сохраняло это всё в текстовый документ, разделяя запятыми.
Архивы как .RAR так и .ZIP (можно разные программы для разных архивов).
Пример:

Код:
nero6.rar,31,87.65
iaud.zip,98,0.31

или

Код:
nero9.rar,131,41.51 Mb

 
Имя, Количество Файлов, Вес архива (можно и в другой последовательности).
 
Примечания: Если размер файла будет с запятой (15,340 МБ), можно использовать другой разделитель, к примеру ";". Это не так важно.
 
Заранее благодарен!

Всего записей: 251 | Зарегистр. 29-10-2007 | Отправлено: 15:11 17-11-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
Подробнее...
Pasha_new

Цитата:
Имя, Количество Файлов, Вес архивах

Если без количества файлов в архиве, то можно сделать. Для rar архивов, точно нет COM для получения сведений об архиве. Да и для Zip думаю тоже.
 

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 03:18 18-11-2010
Suprus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Подскажите как реализовать, сортировку файлов по папкам (по <b>ВРЕМЕНИ</b> создания, не по дате, т.е чтобы скрипт создавал новые папки по формату ЧЧ-ММ и туда сортировал файлы).  
 
Есть готовый скрипт  "Сортирование файлов по папкам" by Petya V4sechkin. Можно его доработать?
 
 
Dim FSO, FldN, Fls, Fl, D, DtN, FlN
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
 
If WScript.Arguments.Count = 0 Then
  MsgBox "Не задано имя папки для распределения файлов по датам. ", vbExclamation, "Ошибка"
  WScript.Quit
End If
 
FldN = WScript.Arguments(0)
If Not FSO.FolderExists(FldN) Then
  MsgBox "Папка """ & FldN & """ не существует. ", vbExclamation, "Ошибка"
  WScript.Quit
End If
 
Set Fls = FSO.GetFolder(FldN).Files
For Each Fl In Fls
  D = GetDateName(Fl.DateLastModified)
  DtN = FSO.BuildPath(FldN, D)
  If Not FSO.FolderExists(DtN) Then FSO.CreateFolder DtN
 
  FlN = FSO.BuildPath(DtN, Fl.Name)
  If FSO.FileExists(FlN) Then
    If MsgBox("Файл """ & Fl.Name & """ уже существует в папке """ & D & """. " & vbCr & "Перезаписать?", vbQuestion + vbOKCancel, "Внимание") = vbOK Then
      FSO.DeleteFile FlN, True
      Fl.Move FlN
    End If
  Else
    Fl.Move FlN
  End If
Next
 
MsgBox "Скрипт завершен. ", vbInformation, "Финиш"
WScript.Quit
 
Private Function GetDateName(Dt)
  Dim M, D
 
  M = Month(Dt)
  D = Day(Dt)
  If M < 10 Then M = "0" & M
  If D < 10 Then D = "0" & D
 
  GetDateName = Year(Dt) & "-" & M & "-" & D
End Function
 
 

Всего записей: 41 | Зарегистр. 03-09-2007 | Отправлено: 09:56 18-11-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Suprus
Поменяй

Цитата:
Private Function GetDateName(Dt)

на
Подробнее...

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 11:10 18-11-2010
Suprus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndVGri, спасибо за  быстрый отклики.
 
При выполнение ошибка: Windows Script Host
Строка: 17 Символ: 3 Ошибка: Несоответствие типа 'GetDateName' Код: 800A000D Источник: Ошибка выполнения Microsoft VBScript  
 
Добавлено:

Цитата:
Set Fls = FSO.GetFolder(FldN).Files
For Each Fl In Fls
  D = GetDateName(Fl.DateLastModified)
  DtN = FSO.BuildPath(FldN, D)
  If Not FSO.FolderExists(DtN) Then FSO.CreateFolder DtN  

Может  D = GetDateName(Fl.DateLastModified) стоит заменить на что-то другое?
что то вроде D = GetTimeName (параметр).
 
P.s: VBScript  не знаю,  сразу извиняюсь если глупости пишу..
 
Добавлено:

Цитата:
Set Fls = FSO.GetFolder(FldN).Files
For Each Fl In Fls
  D = GetTimeName(Fl.DateLastModified)
  DtN = FSO.BuildPath(FldN, D)
  If Not FSO.FolderExists(DtN) Then FSO.CreateFolder DtN  

Заменил значение GetDateName на GetTimeName, параметр оставил Fl.DateLastModified и все заработало.  
 

Всего записей: 41 | Зарегистр. 03-09-2007 | Отправлено: 11:30 18-11-2010 | Исправлено: Suprus, 11:59 18-11-2010
GORA2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
В vbs я новичок, не взыщите...
Есть батник из которого будет создаваться и запускаться vbs.
Код:
@Echo Off
SetLocal EnableDelayedExpansion
Set pass=gora
Del iPass.txt 2>Nul
 
(Echo iPass = InputBox^("Введите пароль для шифрования архива","Шифрование архива","%pass%"^)
Echo If iPass = "" Then WScript.Quit
Echo Hder = MsgBox^("Шифровать имена файлов?",4,"Шифрование архива"^)
Echo Set FSO = CreateObject^("Scripting.FileSystemObject"^)
Echo Set f = FSO.OpenTextFile^("iPass.txt", 2, True^)
Echo f.WriteLine Hder ^& "," ^& iPass
Echo f.Close)>inPass.vbs
 
CSCRIPT inPass.vbs //NOLOGO
If Exist iPass.txt (
    For /F "tokens=*" %%i In (iPass.txt) Do (
        Set ti=%%i
        Set passAr=-p"!ti:~2!"
        If "!ti:~0,1!"=="6" Set passAr=!passAr! -mhe
    )
)
Echo Switch    %passAr%
Pause>Nul
с батником я разберусь, подскажите по vbs части:
1 Батник будет запускаться в скрытом виде. Можно ли скрыть окна vbs в панели задач?
2 Можно ли возвратить две переменные Hder и iPass в батник без записи во временный файл?
3 Можно ли обойтись одним окном для ввода, типа InputBox с добавленным чекбоксом? Как сделать такое окно?

Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 12:37 18-11-2010
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите, можно ли с помощью скрипта экспортировать раздел реестра? нужна кодировка именно UTF-8 а не простой Unicode

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 23:17 19-11-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да можно.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:20 19-11-2010
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
ммм... а каким макаром?

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 23:28 19-11-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
жди кто нибудь ответит. у меня винт слетел сижу на абсолютно пустом винте никаких записей нету.... нелодлго надеюсь.  
ну ты в принципе правельна к вбс скриптам обращаешьсяо ни появились в винде как альтернатива батникам. только все равно лучше сразу нормальный язык учить

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:36 19-11-2010
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нашел только RegWrite, RegRead, RegDelete. а как сделать экспорт раздела в файл?

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 23:44 19-11-2010
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум 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