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

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



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Rush
Спасибо, большое, все заработало.

Всего записей: 93 | Зарегистр. 29-07-2008 | Отправлено: 16:06 06-02-2013
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу создать скрипт, который будет менять время создания, изменения и последнего доступа к файлам в заданном каталоге и во всех вложенных каталогах. Как я понял, для эти целей нужно использовать объект Shell. Мне не понятно, как поменять, например, атрибут времени создания файла. Почему вот в этом коде

Код:
 
Call Touch("d:\eval", "ecluster2.lic", "01.12.2012")
 
Sub Touch(FolderPath, FileName, NewDate)
    Set app = WScript.CreateObject("Shell.Application")
    Set folder = app.NameSpace(FolderPath)
    Set file = folder.ParseName(FileName)
    file.ModifyDate = NewDate
    for each filename in folder.Items
        WScript.Echo filename & vbTab & folder.GetDetailsOf(filename, 4)
    next
    WScript.Echo folder.GetDetailsOf("ecluster2.lic", 4)
End Sub
 

в цикле выводится время создания, а в следующем операторе после цикла вместо него печатается название атрибута.

Всего записей: 736 | Зарегистр. 06-12-2003 | Отправлено: 09:15 07-02-2013
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2
Потому что метод GetDetailsOf работает с объектами, а не со строками.
Чтобы получить время, нужно аргументом выставить объект file, который ссылается на файл ecluster2.lic.

Код:
WScript.Echo folder.GetDetailsOf(file, 4)

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 12:54 07-02-2013
fire4x



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как из подпапки перейти в родительскую папку?

Всего записей: 503 | Зарегистр. 25-02-2008 | Отправлено: 23:31 07-02-2013
idlenlazy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fire4x
 
WshShell.CurrentDirectory = fso.GetParentFolderName (WshShell.CurrentDirectory)

Всего записей: 163 | Зарегистр. 05-01-2009 | Отправлено: 11:41 09-02-2013
freed

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
уроки для начинающих на youtube  #

Всего записей: 1813 | Зарегистр. 07-05-2005 | Отправлено: 18:11 09-02-2013 | Исправлено: freed, 18:11 09-02-2013
Dmitriy05



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<перенесено в Excel VBA>

Всего записей: 2514 | Зарегистр. 03-08-2005 | Отправлено: 02:02 10-02-2013 | Исправлено: Dmitriy05, 03:40 10-02-2013
korggrodno



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
пользователь включает компьютер.  
Затем логинится под user1  
затем запускает TC от имени user2
И нужно както сделать, что бы у user2 всегда был подключен сетевой диск такойто
КАк это лучше всего огранизовать?
 
запуск тотала от имени user2 происходит таким скриптом

Цитата:
 
set WshShell = WScript.CreateObject("WScript.Shell")  
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
TC_folder = fso.OpenTextFile("_TC_folder.ini", ForReading).ReadLine
WshShell.run "net use s: \\fserv\users_data$\sergey.h"
WshShell.run "psexec.exe -u ramteks\sergey.h.adm -p *** " + WshShell.CurrentDirectory +"\..\" + TC_folder + "\Totalcmd.exe"
 

либо таким скриптом
 

Цитата:
 
set WshShell = WScript.CreateObject("WScript.Shell")  
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
TC_folder = fso.OpenTextFile("_TC_folder.ini", ForReading).ReadLine
rem /netonly Учетные данные предназначены только для удаленного доступа
rem /netonly Нужно убрать если доступ локальный
WshShell.run "runas /user:ramteks\sergey.h.adm ..\" + TC_folder + "\Totalcmd.exe"  
rem увеличить 200 для случая если тотал не успевает открыться  
WScript.Sleep 200
WshShell.SendKeys "***"
WshShell.SendKeys "{ENTER}"    
WScript.Sleep 200
 

 

Всего записей: 383 | Зарегистр. 15-11-2007 | Отправлено: 18:39 11-02-2013
Exilim



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи! Помогите пожалуйста!
 
Суть проблемы:
Есть файл default.asp. В этом файле код VBScript. Я заливаю этот файл в каталог на сервере IIS. Открываю ссылку в браузере и у меня отображается список файлов в текущей директории. Но! Помимо всего прочего, отображается сам файл default.asp и web.config. Хотелось бы сделать так, чтобы в этом файле можно было явно указывать какие расширения файлов не отображать в списке (например не отображать файлы *.asp, *.config и пр.).
 
Код страницы:

Цитата:
<%@LANGUAGE="VBSCRIPT"%>
<%
   Option Explicit
   On Error Resume Next
 
   ' declare variables
   Dim objFSO, objFolder
   Dim objCollection, objItem
 
   Dim strPhysicalPath, strTitle, strServerName
   Dim strPath, strTemp
   Dim strName, strFile, strExt
   Dim intSizeB, intSizeK, intSizeM, intAttr, dtmDate
 
   ' declare constants
   Const vbReadOnly = 1
   Const vbHidden = 2
   Const vbSystem = 4
   Const vbVolume = 8
   Const vbDirectory = 16
   Const vbArchive = 32
   Const vbAlias = 64
   Const vbCompressed = 128
 
   ' don't cache the page
   Response.AddHeader "Pragma", "No-Cache"
   Response.CacheControl = "Private"
 
   ' get the current folder URL path
   strTemp = Mid(Request.ServerVariables("URL"),2)
   strPath = ""
 
   Do While Instr(strTemp,"/")
      strPath = strPath & Left(strTemp,Instr(strTemp,"/"))
      strTemp = Mid(strTemp,Instr(strTemp,"/")+1)      
   Loop
 
   strPath = "/" & strPath
 
   ' build the page title
   strServerName = UCase(Request.ServerVariables("SERVER_NAME"))
   strTitle = "Содержимое папки " & strPath & " "
 
   ' create the file system objects
   strPhysicalPath = Server.MapPath(strPath)
   Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
   Set objFolder = objFSO.GetFolder(strPhysicalPath)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="GEN" content="files">
<title><%=strServerName%> - <%=strTitle%></title>
 
<style>
BODY  { BACKGROUND: #FAFFEA; COLOR: #000000;
        FONT-FAMILY: Arial; FONT-SIZE: 8pt; }
TABLE { BACKGROUND: #000000; COLOR: #ffffff; }
TH    { BACKGROUND: #9F0; COLOR: #000; FONT-FAMILY: "Lucida Console", Monaco, monospace; FONT-SIZE: 9pt; }
TD    { BACKGROUND: #ffffff; COLOR: #000000; FONT-FAMILY: "Lucida Console", Monaco, monospace; FONT-SIZE: 9pt; }
TT    { FONT-FAMILY: Courier; FONT-SIZE: 8pt; }
</style>
<style type="text/css">
   A {
    text-decoration: none; /* Убирает подчеркивание для ссылок */
   }  
   A:hover {  
    text-decoration: underline; /* Добавляем подчеркивание при наведении курсора на ссылку */
    color: red; /* Ссылка красного цвета */
   }  
  </style>
</head>
<body>
 
<h1 align="center"><%=strServerName%><br><%=strTitle%></h1>
<h4 align="center">Выберите файл/папку для загрузки/просмотра.</h4>
 
<div align="center"><center>
<table width="100%" border="1px" bordercolor="#D5D2BF" cellspacing="0" cellpadding="2">
<tr>
   <th align="left">Имя</th>
   <th align="left">Мегабайт</th>
   <th align="left">Килобайт</th>
   <th align="left">Ext</th>
   <th align="left">Тип</th>
   <th align="left">Дата</th>
   <th align="left">Время</th>
</tr>
 
<%
   ''''''''''''''''''''''''''''''''''''''''
   ' output the folder list
   ''''''''''''''''''''''''''''''''''''''''
 
   Set objCollection = objFolder.SubFolders
 
   For Each objItem in objCollection
      strName = objItem.Name
      dtmDate = CDate(objItem.DateLastModified)
%>
<tr>
   <td align="left"><b><a href="<%=strName%>"><%=strName%></a></b></td>
   <td align="right">N/A</td>
   <td align="right">N/A</td>
   <td align="left"><b><DIR></b></td>
   <td align="left"><b>Directory</b></td>
   <td align="left"><%=FormatDateTime(dtmDate,vbShortDate)%></td>
   <td align="left"><%=FormatDateTime(dtmDate,vbLongTime)%></td>
</tr>
<% Next %>
 
<%
   ''''''''''''''''''''''''''''''''''''''''
   ' output the file list
   ''''''''''''''''''''''''''''''''''''''''
 
   Set objCollection = objFolder.Files
 
   For Each objItem in objCollection
      strName = objItem.Name
      strFile = Server.HTMLEncode(Lcase(strName))
 
      intSizeB = objItem.Size
      intSizeK = Int((intSizeB/1024) + .5)
      intSizeM = Int((intSizeB/1024/1024) + .5)
      If intSizeK = 0 Then intSizeK = 1
 
      strName = Ucase(objItem.ShortName)
      If Instr(strName,".") Then strExt = Right(strName,Len(strName)-Instr(strName,".")) Else strExt = ""
      dtmDate = CDate(objItem.DateLastModified)
%>
<tr>
   <td align="left"><a href="<%=strFile%>"><%=strFile%></a></td>
   <td align="right"><%=intSizeM%> Mb</td>
   <td align="right"><%=intSizeK%> Kb</td>
   <td align="left"><%=strExt%></td>
   <td align="left"><%=objItem.Type%></td>
   <td align="left"><%=FormatDateTime(dtmDate,vbShortDate)%></td>
   <td align="left"><%=FormatDateTime(dtmDate,vbLongTime)%></td>
</tr>
<% Next %>
 
</table>
</center></div>
 
</body>
</html>
<%
   Set objFSO = Nothing
   Set objFolder = Nothing
 
   ' this adds the IIf() function to VBScript
   Function IIf(i,j,k)
      If i Then IIf = j Else IIf = k
   End Function
 
   ' this function creates a string from the file atttributes
   Function MakeAttr(intAttr)
      MakeAttr = MakeAttr & IIf(intAttr And vbArchive,"A","-")
      MakeAttr = MakeAttr & IIf(intAttr And vbSystem,"S","-")
      MakeAttr = MakeAttr & IIf(intAttr And vbHidden,"H","-")
      MakeAttr = MakeAttr & IIf(intAttr And vbReadOnly,"R","-")
   End Function
%>

 
сам файл Default.asp:
http://yadi.sk/d/w2y2aV622aoDI
 
как это выглядит сейчас:
http://s1.ipicture.ru/uploads/20130214/Q3PoFdgz.jpg

Всего записей: 111 | Зарегистр. 12-08-2005 | Отправлено: 10:56 15-02-2013
Exilim



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Разобрался.. если кому нужно, то взять можно тут:
http://yadi.sk/d/0nhjCOxt2hQXY

Всего записей: 111 | Зарегистр. 12-08-2005 | Отправлено: 19:23 18-02-2013
fire4x



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен скрипт, который извлечет содержимое 123.zip в текущую папку, а потом этот архив удалит.
 
П.С. Если можно - с подробными комментариями - какая строка за что отвечает.

Всего записей: 503 | Зарегистр. 25-02-2008 | Отправлено: 00:20 02-03-2013 | Исправлено: fire4x, 00:33 02-03-2013
boss911



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

Всего записей: 3757 | Зарегистр. 29-01-2005 | Отправлено: 10:55 06-03-2013 | Исправлено: boss911, 14:00 06-03-2013
LingWillOk

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

Всего записей: 1 | Зарегистр. 06-03-2013 | Отправлено: 14:12 06-03-2013
SLasH

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую всех!
Есть такой скрипт:
Код
Применяется для запуска локальных HTML-страниц.
Вопрос: как через этот скрипт закрыть открытое окно IE по нажатию <ESC> ?
Добавлено позже:
Вопрос решил:
Код

Всего записей: 723 | Зарегистр. 08-10-2002 | Отправлено: 17:44 09-03-2013 | Исправлено: SLasH, 16:22 10-03-2013
mrCrowley

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую
 
Помогите, пожалуйста  реализовать такой скрипт:  
 
Проверяется с заданным интервалом определенная страница в браузере: http://mypage.mydomain на наличие в ней текста: "текст1, текст2, текст3... текстN"  Если искомый текст обнаружен - отправляется сообщение на заданый e-mail: mymail@mydomain:  "текстN - обнаружен"  
 

Всего записей: 164 | Зарегистр. 18-02-2005 | Отправлено: 15:44 12-03-2013
Antonj

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

Всего записей: 1 | Зарегистр. 21-03-2013 | Отправлено: 14:23 21-03-2013 | Исправлено: Antonj, 00:09 22-03-2013
NtX1700

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветсвую всех!
 
Появилась задача - запуск программы без окна с измененным приоритетом. Добросоветсно ползал по интернету. В частности и по нашему сайту. По отдельности было изначально как все делается. А вместе - никак )))
 
Запускаю программу так:

Цитата:
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
cmd="c:\prog.exe -scuko"
WshShell.Run(cmd),0

Окна нет, но приортет нормальный.
 
С приоритетом по жизни игрался через start. Делаю так:

Цитата:
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
cmd="%comspec% /c start /low c:\prog.exe -scuko"
WshShell.Run(cmd),0

И ничего и не выходит, ибо WshShell.Run запустит без окна интерпретатор, тот запустит в свою очередь start, а он запускает prog.exe отдельным процессом, которое радостно показывает консольку. можно добавить к интерпретатору /c/q, то не прокатывает.
 
Мож кто подскажет что? В VBS-то я особо не силен...
Windows 7 стоит в качестве подопытного.

Всего записей: 43 | Зарегистр. 13-12-2007 | Отправлено: 18:04 23-03-2013
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, NtX1700
Не VBS - решение - добавьте /b к start  
cmd="%comspec% /c start /b /low c:\prog.exe -scuko"

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 18:38 23-03-2013
NtX1700

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy
Все гениальное просто!  
Спасибо!

Всего записей: 43 | Зарегистр. 13-12-2007 | Отправлено: 19:09 23-03-2013
Sharer01

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! WinXP SP3. Возникает ошибка при выполнении скриптов: "ERROR CODE: 429. ERROR DESCRIPTION: Невозможно создание объекта контейнером ActiveX". Как решить эту проблему? Заранее благодарю за помощь!

Как выснилось, проблема не была связана непосредственно с ошибками в работе VBScript, а заключалась в неправильных разрешениях на разделы реестра, которые послужили причиной его некорректной работы. Поэтому этот пост просьба удалить как непрофильный в данной теме.
 

Всего записей: 154 | Зарегистр. 01-12-2008 | Отправлено: 22:20 28-03-2013 | Исправлено: Sharer01, 23:45 02-04-2013
Открыть новую тему     Написать ответ в эту тему

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