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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы, задачи и их решения по VBScript.

 
Мануал (english, 600 Кб). | Зеркало
MS Scripting 5.6 (700 КБ), включает последнюю версию VBS. Владельцам XP/2000(?) должен быть не нужен. | Зеркало
Немного на wikiпедии.
Предыдущие части: 1
 
Смежные темы:
Сценарии Windows
Командная строка, батники\сценарии (bat, cmd)
Скрипты KiXtart

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 12-07-2011 | Исправлено: Smitis, 23:28 26-02-2018
Black_Lung



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NitroPT
 
Загрузка процесора скорее всего не будет ровно 0, нужно подбирать значение опытным путём, и проверять на него раза 3-4 с маленькой задержкой.

Всего записей: 275 | Зарегистр. 09-10-2008 | Отправлено: 16:51 22-10-2012
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Ой, блин, с LOGIN методом он начал попытки пройти аутентификацию. Пускай неуспешно, но идёт!!! Остатки щас докапаю.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 17:06 22-10-2012
NitroPT

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

Цитата:
Загрузка процесора скорее всего не будет ровно 0, нужно подбирать значение опытным путём, и проверять на него раза 3-4 с маленькой задержкой.
 
Там в том то и засада, во время загрузки программа отъела процессорное время, далее она просто "стоит" ничего не делая, в диспетчере задач загрузка процессора 0, а этот скрипт  

Код:
 Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '1cv7.exe'")
 
For Each objProcess in colProcesses
    sngProcessTime = (CSng(objProcess.KernelModeTime) + _
            CSng(objProcess.UserModeTime)) / 10000000
    Wscript.Echo objProcess.name & VbTab & sngProcessTime
Next  

всеравно возвращает положительную цифру, которая в общем то не меняется сколько раз его не запускай. Нагружаем программу какой либо задачей, процессорное время соответственно увеличивается, и скрипт начинает показывать большую цифирю и соответственно она, сколько бы не запускал дальше этот скрипт так же не меняется.........
 
Возможно поставленная задача решается каким либо другим способом?

Всего записей: 4 | Зарегистр. 15-12-2005 | Отправлено: 11:35 23-10-2012 | Исправлено: NitroPT, 11:46 23-10-2012
TePP0PucT

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

Всего записей: 7 | Зарегистр. 26-10-2012 | Отправлено: 08:22 26-10-2012
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TePP0PucT
Читаем про "проверяет папку на наличие нового файла".
Устанавливаем PDFCreator и изучаем, например, "C:\Program Files\PDFCreator\COM\Windows Scripting Host\VBScripts\Convert2TXT.vbs" и прочее содержимое папки, что не понятно - спрашиваем.

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 10:08 26-10-2012
king_stiven

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно переместить курсор по заранее заданным координатам относительно экрана, а не окон, кликнуть мышкой и переместиться назад.

Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:47 26-10-2012
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, king_stiven
Искал когда-то нашел только один вариант - AutoIt - скрипт скомпилить в exe. Получается 300 кило программа... Скопировать положение курсора в буфер обмена, перевести мышь в начало экрана, кликнуть 2 раза в точке с координатами 100:100. Можно использовать аргументы командной строки (массив $CmdLine)

Код:
 
$Pos=MouseGetPos()
ClipPut($Pos[0]&":"&$Pos[1])
MouseMove(1,1)
MouseClick("left",100,100,2)
 

Прошу прощения, ответил не в той теме. Это относится к Задачи на bat-файлах 11

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 16:20 26-10-2012 | Исправлено: Alex_Piggy, 16:42 26-10-2012
king_stiven

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер, Alex_Piggy. Да нет, правильно ответили. Мне надо, чтоб при запуске скрипта мышка перешла на координаты 100 100, кликнула там и перешла обратно. Решение должно быть очень простым. Не надо искать окон а просто тупо перемещаться по экрану, как nircmd. Просто nircmd  не умеет определять текущие координаты и соответственно возвращаться обратно на них.
 
 
 
Добавлено:
Пока нашёл только такую вещь, не совсем по теме.
<html>
<head>
</head>
<body>
<table border=1 width=1280 height=1240><tr><td onmousemove=t_mousemove()>
Проведите мышью по этому окну
Координаты мыши относительно экрана
 
<input type="text" name="Text1">
</td></tr></table>
</body>
<SCRIPT TYPE="text/vbscript"><!--
function t_mousemove
Text1.value="X="+cstr(window.event.screenX)+"; Y="+cstr(window.event.screenY)
end function
--></SCRIPT>

Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 18:48 26-10-2012
TePP0PucT

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

Всего записей: 7 | Зарегистр. 26-10-2012 | Отправлено: 14:09 28-10-2012 | Исправлено: TePP0PucT, 14:15 28-10-2012
AirCova

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток.  
Есть небольшая проблема. Есть скрипт на vbs, создает подписи для outlook беря данные с AD, соответственно пишет в конце подписи сайт, но хотелось бы сделать вместо адреса сайта лого, возможно ли это?  
з.ы. Гугл молчит, предлогает только сделать скрипт на основе html, но это не подходит (((  
з.ы.ы. Бил в бубен, молился Ктулху... не помогает  

Всего записей: 1 | Зарегистр. 19-11-2012 | Отправлено: 17:10 19-11-2012
Black_Lung



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AirCova
 
можно сделать в виде показа из атачмента, письмо конечно будет в html

Всего записей: 275 | Зарегистр. 09-10-2008 | Отправлено: 11:43 20-11-2012
Demon L



Lite FSB
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гуру помогите.  
Как можно (и можно ли) решить такую задачу:  
   
Нужно присвоить файлу любое рандомное имя не зависимо от того какое было (например на основе даты) потом его залить на фтп и сформировать на него ссылку и выдать так чтоб это можно было скопировать. Это вообще решаемо? в какую сторону смотреть...

Всего записей: 375 | Зарегистр. 24-07-2003 | Отправлено: 14:57 06-12-2012
Black_Lung



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Demon L
 
решаемо, для фтп есть консольна утилита, точно как ей пользоваться не знаю.
 
генератор 10 значного имени
 

Код:
 
dim a(90)
for i=0 to 9
a(i)=i
next
j=10
for i=65 to 91
a(j)=chr(i)
j=j+1
next
for i=97 to 123
a(j)=chr(i)
j=j+1
next
randomize
for i=1 to 10
filename=filename&a(Int(63 * Rnd))
next
wscript.echo filename
 

 
 
так можно получить ссылку:

Код:
 
TMP="C:\TMP\"
ftp_addr="ftp://xxx.com"
file_tosend="C:\file_tosend.txt"
'filename="то что сгенерило"
set WshShell = WScript.CreateObject("WScript.Shell")  
set fso = CreateObject("Scripting.FileSystemObject")
Set file_temp = FSO.CreateTextFile("C:\tmp\"&filename&".txt", True)
file_temp.writeline ftp_addr+"/"+filename
Set file_tosend=FSO.Getfile(file_tosend)
file_tosend.copy(TMP+filename)
'wshShell.run "ftp.exe .........."  
wshShell.run "notepad.exe "&tmp&filename&".txt"  
file_temp.close
FSO.Getfile(TMP+filename).Delete
FSO.Getfile(TMP+filename&".txt").Delete
 

Всего записей: 275 | Зарегистр. 09-10-2008 | Отправлено: 18:56 06-12-2012 | Исправлено: Black_Lung, 19:21 06-12-2012
Demon L



Lite FSB
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Black_Lung
Спасибо
 
код ниже делает все как нужно... единственно имена файлов остаются прежними.
Помоги плиз доработать что бы имена файлов генерились новые. Не пойму как вставить твой кусок кода.
 

Код:
 
 
 Rem Отправка на FTP и копирование ссылки в буфер (Visual Basic Script)
Dim objArgs, Server, DomainName, Port, User, Pass, Folder, rootFolder, CloseDOS, DosStr
 
'=== Данные учетной записи FTP ===
 
Server = "test.com"
DomainName = "ftp://test.com"
Port = "21"
User = "***"
Pass = "***"
 
'Папка на FTP, куда будут складываться файлы
rootFolder = "public" 'корневая
Folder = "TEST" 'подкаталог
 
'Флаг - закрывать консольное окно после передачи данных
CloseDOS = True
if not CloseDOS then DosStr = "&pause"
 
Set objArgs = wscript.Arguments
If objArgs.Count <> 0 Then 'Проверяем аргументы (Drag & Drop "путь к файлу")
    Dim FName, WSHShell, Link, FF, TmpFile, objFile
     
    'Получаем имя файла
    FName = Mid(objArgs(0), InStrRev(objArgs(0), "\") + 1)
    'Интернет-адрес
    Link = DomainName & "/" & Folder & "/" & FName
 
    Set WSHShell = CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    'Копируем в буфер обмена Windows
    WSHShell.Run "cmd.exe /C <nul set /p ""=" & Link & """ | CLIP", 0, False
 
    'Формируем строку коннекта для утилиты FTP
    TmpFile = WSHShell.ExpandEnvironmentStrings("%temp%") & "\temp_" & CInt(Rnd() * 1000)    
    'ForAppending = 8, ForReading = 1, ForWriting = 2
    Set objFile = objFSO.OpenTextFile (TmpFile, 2, True, 0) 'True - создать файл
        objFile.WriteLine "open " & Server & " " & Port
        objFile.WriteLine User
        objFile.WriteLine Pass
        objFile.WriteLine "cd " & rootFolder & "/" & Folder
        objFile.WriteLine "binary"
        objFile.WriteLine "put """ & objArgs(0) & """"
        objFile.WriteLine "disconnect"
        objFile.WriteLine "bye"
    objFile.Close
     
    'Добавляем утилиту FTP в исключения файрвола и запускаем
    WSHShell.Run "cmd.exe /c ""(netsh firewall add allowedprogram """ & WSHShell.ExpandEnvironmentStrings("%windir%") & _
      "\system32\ftp.exe"" ENABLE& ftp -s:""" & TmpFile & """" & DosStr & ")""", 0, True
 
    objFSO.DeleteFile TmpFile, True
 
    Set WSHShell = Nothing: Set objFile = Nothing: Set objFSO = Nothing
     
    wscript.echo "Путь к файлу на FTP: " & vbLf & Link & String(2, vbLf) & _
    "Путь к файлу скопирован в буфер обмена Windows."
  Else
    wscript.echo "Перетащите файл на VBS-сценарий"
End If
Set objArgs = Nothing  
 
 

Всего записей: 375 | Зарегистр. 24-07-2003 | Отправлено: 20:56 06-12-2012 | Исправлено: Demon L, 10:22 08-12-2012
Demon L



Lite FSB
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста доработать скрипт:
1. убрать "'Добавление в исключения файрвола "  
2. сделать так чтобы файлу присваивалось новое случайное имя.

Всего записей: 375 | Зарегистр. 24-07-2003 | Отправлено: 09:21 08-12-2012
Black_Lung



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

Всего записей: 275 | Зарегистр. 09-10-2008 | Отправлено: 15:05 10-12-2012 | Исправлено: Black_Lung, 15:19 10-12-2012
Demon L



Lite FSB
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Black_Lung
 
Спасибо большое это думаю то что требуется. Только проверить не могу. выдает ошибку "Несоответствие типа: NewFName" код: 800A000D
Спотыкается вот на этой строчке: NewFName=NewFName(Int(63 * Rnd))
что может быть не так ?

Всего записей: 375 | Зарегистр. 24-07-2003 | Отправлено: 18:52 12-12-2012 | Исправлено: Demon L, 19:21 12-12-2012
Black_Lung



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Demon L
Извиняюсь, я тогда вставил код как смог, проблемы с подключением на форум были.
правильная строка: NewFName=NewFName&a(Int(63 * Rnd))  

Всего записей: 275 | Зарегистр. 09-10-2008 | Отправлено: 11:42 14-12-2012
Demon L



Lite FSB
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Black_Lung
 
А теперь пишет:
требуется объект: FSO
ошибка 800A01A8
 
Ругается вот на эту строчку:
 Set NewFile=FSO.Getfile(objArgs(0))

Всего записей: 375 | Зарегистр. 24-07-2003 | Отправлено: 13:40 14-12-2012
Rush

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

Цитата:
Ругается вот на эту строчку:  
 Set NewFile=FSO.Getfile(objArgs(0))

Надо FSO на objFSO исправить.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 14:31 14-12-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru