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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urodliv
у меня удаляет нормально, дополнил Wscript.echo , чтобы видно было где заходит и что удаляет.
Set Fso = CreateObject("Scripting.FileSystemObject")  сделал один на всех, а не на каждый файл свой.
код

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 23:49 10-02-2019
urodliv



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

----------
Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

Всего записей: 6684 | Зарегистр. 29-04-2009 | Отправлено: 00:17 11-02-2019
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую! С VBS не дружу, совсем. Есть скрипт, который скачивает файл по HTTP, берет дату/время файла с сервера, потом меняет дату/время скаченного файла на дату/время с сервера. Проблема в том, что скрипт работает только на английской локали, причина в дате, которую получает скрипт - Mon, 25 Feb 2019 16:00:00 GMT, на других локалях формат будет иной, тут и начинаются проблемы. Помогите, пожалуйста, заставить работать скрипт на ЛЮБОЙ локали, если это возможно.
 
Подробнее...

Всего записей: 3689 | Зарегистр. 29-01-2005 | Отправлено: 17:17 25-02-2019
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, boss911
Добавляете в конец Function ParseDate и заменяете  
objDate = CDate(Join(Slice(Split(lmdate), 1, 3)) & " " & Join(Slice(Split(lmdate), 4, 4)))
на  
objDate = ParseDate(Imdate)

Код:
 
Option Explicit
msgBox parsedate("Mon, 25 Feb 2019 16:00:00 GMT")
 
Function ParseDate (vDate)
  Dim aDate, ind, vYear, vMonth, vDay, aMonth
  aDate = Split (vDate)
  ind=LBound(aDate)
  vYear = cInt (aDate(3+ind))
  If vYear < 1900 Then vYear = 2000 + vYear
  vDay = CInt(aDate(1+ind))
  vMonth = 1
  For Each aMonth in Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC")
    If InStr(Ucase(aDate(2+ind)),Ucase(aMonth))=1 then exit for
    vMonth = vMonth + 1
  Next
  ParseDate = DateSerial(vYear, vMonth, vDay) + cDate (aDate(4+ind))
End Function
 

Можно регекспом, но мне кажется избыточным.

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 18:13 25-02-2019
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
 
Строку заменил. Функцию Function ParseDate вставил перед Function Slice, ставил и после и в самом конце скрипта, результат один и тот же.

Код:
script.vbs(43, 3) Microsoft VBScript runtime error: Subscript out of range: '[number: 3]'

Я так понимаю, это:

Код:
Option Explicit  
msgBox parsedate("Mon, 25 Feb 2019 16:00:00 GMT")

- не нужно? Дату Mon, 25 Feb 2019 16:00:00 GMT я указал в качестве примера, как шаблон.

Всего записей: 3689 | Зарегистр. 29-01-2005 | Отправлено: 19:22 25-02-2019 | Исправлено: boss911, 19:23 25-02-2019
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
boss911
Прошу прощения. Не "I", а "l" в lmdate . Не рассмотрел... Кстати, к вопросу о Option Explicit...
objDate = ParseDate(Imdate)
objDate = ParseDate(lmdate)

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 19:30 25-02-2019 | Исправлено: Alex_Piggy, 19:31 25-02-2019
Laserje18

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

Всего записей: 64 | Зарегистр. 11-09-2012 | Отправлено: 09:24 27-02-2019 | Исправлено: Laserje18, 09:39 27-02-2019
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такая задача, вбивать автоматом логин/пароль при входе в Сбербанк Онлайн:
https://online.sberbank.ru/CSAFront/index.do
Т.е. задать в скрипте заранее известный логин/пароль и дожидаться прихода СМС
Нужно для облегчения жизни пожилому человеку - устал я уже бабушке объяснять куда логин, а куда пароль вбивать
Да и хочется привязать это "хозяйство" к отдельному браузеру (не IE! ) портабельному - так безопаснее. С портабелизацией (Thinstall) я давно работаю, с браузером сейчас определяюсь. А вот с программированием у меня плохо; не получается реализовать желаемое.
Помогите, пожалуйста!

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 08:14 15-04-2019
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, generator324
Это задача не для VBScript - а для javascript. user.js/userChrome.js чистые или в составе Greasemonkey, ViolentMonkey, TamperMonkey, UserScript.

Код:
 
login.value="123";
password.setAttribute("type","text");
password.value="345";
buttonSubmit.getElementsByTagName("button")[0].click()
 

 
Или букмарклетом

Код:
 
javascript:(function(){login.value="123";password.setAttribute("type","text");password.value="345";buttonSubmit.getElementsByTagName("button")[0].click()})()
 

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 10:17 15-04-2019 | Исправлено: Alex_Piggy, 10:18 15-04-2019
generator324

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

Цитата:
Это задача не для VBScript - а для javascript. user.js

Может быть, но я в Жаве совсем ноль
Пробовал на VBScript через SendKeys делать, но получается криво, а главное не могу отследить нужные окошки.
Не совсем понял, что делать с тем, что вы написали - в частности, с javascript. user.js
Это сохранить в виде файла, или что?

Цитата:
Или букмарклетом  

Стесняюсь спросить - что с этим делать?

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 10:32 15-04-2019
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
generator324
про букмарклет
http://forum.ru-board.com/topic.cgi?forum=5&topic=46779
вроде способ рабочий
 

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 11:13 15-04-2019
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks
Знаю, что но всё-таки: так и не понял что это такое/что с этим делать (Букмарклеты / Закладурки)?    
Ладно, судя по всему надо идти туда...

Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 13:02 15-04-2019 | Исправлено: generator324, 13:04 15-04-2019
villa777



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

Код:
javascriptfunction(){login.value="123";password.setAttribute("type","text");password.value="345";buttonSubmit.getElementsByTagName("button")[0].click()})()

 
Скопируйте код, добавьте как страницу на панель закладок. На странице Сбербанка нажмите на эту закладку и вставятся логин и пароль. Всё.

Всего записей: 2773 | Зарегистр. 22-06-2011 | Отправлено: 14:48 15-04-2019 | Исправлено: villa777, 14:49 15-04-2019
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
villa777
Я понял, спасибо. Но... Как я написал уже у соседей:
http://forum.ru-board.com/topic.cgi?forum=5&topic=46779&start=200#7

Цитата:
Но если вставлять его "в URL закладки", согласно Микро-FAQ, то откуда возьмётся сам адрес того же Сбера?  


Всего записей: 1084 | Зарегистр. 11-01-2019 | Отправлено: 15:08 15-04-2019
lestren

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени!
Возник вопрос по работе с ярлыками lnk. Есть в винде такая фишка, что, создав ярлык на файл/папку, можно затем перемещать и переименовывать исходный объект, и ярлык будет оставаться рабочим пока объект остается на том же разделе. Собственно, вопрос - возможно ли как-нибудь, каким угодно скриптовым способом через это lnk получить новое имя и путь к объекту? TargetPath, например, выдает _исходный_ путь (что, наверное, логично, т.к. он просто показывает свойство, записанное в файл ярлыка). А хотелось бы получить новый адрес, этим ярлыком открываемый...  
 
То есть:  
На файл "D:\объект.txt" делается ярлык "D:\объект.lnk".
Далее, "объект.txt" переименовывается в "123.txt" и переносится в подпапку "D:\abc\". Новый путь до объекта, таким образом, получается "D:\abc\123.txt".
Ярлык "объект.lnk" при этом остается рабочим, и открывает этот 123.txt
Реально ли получить как-то путь, куда ярлык фактически обращается, а не тот что в нем записан?

Всего записей: 19 | Зарегистр. 16-10-2010 | Отправлено: 02:47 21-04-2019
Rush

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

Код:
Set objShApp = CreateObject("Shell.Application")
Set objLnk = objShApp.NameSpace("d:\").ParseName("объект.lnk").GetLink
objLnk.Resolve(1)
MsgBox objLnk.Path

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 04:13 21-04-2019
lestren

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
Да, это то что надо, спасибо!

Всего записей: 19 | Зарегистр. 16-10-2010 | Отправлено: 14:20 21-04-2019
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго здоровья!
На просторах интернета встретил одну удобняшку-VBS:

Код:
 
Set W = CreateObject("WScript.Shell")
W.Popup "Окно закроется через 7 сек.", 7 , _
" Окно Popup библиотеки WScript.Shell",vbExclamation
 

1). Можно ли сделать так, чтобы это сообщение запускалось в виртуальной машине VirtualBox в гостевой ОС  Win XP SP3 x32, а окно сообщения выводилось в хостовую машину с ОС Win 7 x64. По отдельности и в той, и в другой ОС скрипт работает отлично.
2). И уже будет посложнее. Гостевые ВМ имеют номера 1,2,3... Можно ли сделать, чтобы в сообщении указывался номер виртуальной машины, которая послала сообщение, например, "1-Окно закроется через 7 сек."
 Если п.2 решить нельзя, то и не надо.
P.S. Виртуальные машины работают в скрытом режиме, поэтому очень удобно, когда они посылают свои сообщения на хостовую. Если есть какие другие варианты, можно и их. Например, каждая ВМ имеет общую папку-диск D: с хостовой машиной. Каждая ВМ посылает свои сообщения в текстовом файле в эту общую папку. Но этот вариант подойдёт, если указанные выше решить не удастся.

Всего записей: 837 | Зарегистр. 15-05-2011 | Отправлено: 17:02 27-05-2019 | Исправлено: sundraw, 18:12 27-05-2019
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, sundraw
1. msg.exe . Может net send или psexec. Смотреть/пробовать. https://ab57.ru/cmdlist/msg.html
2. "vboxcontrol guestproperty get" из гостя https://www.virtualbox.org/manual/ch08.html
Пример - батник

Код:
 
for /f "delims=" %%i in ('VBoxControl --nologo guestproperty get GuestName') do msg * /TIME:7 "Message from %%i"
 

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 18:04 27-05-2019
sundraw

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

Всего записей: 837 | Зарегистр. 15-05-2011 | Отправлено: 19:42 27-05-2019
Открыть новую тему     Написать ответ в эту тему

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