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

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

   

vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cambit, пока я только увидел ненужное повторное создание WshShell, что, конечно, не критично . В остальном всё, вроде, нормально. Т.е. если что-то не работает, то смотреть надо оставшееся (WSHShell.Run ...)
 
 "Update.bat",5,"True" - здесь, наверное, надо указать путь к батнику.
 "rundll32.exe shell32.dll,SHExitWindowsEx 2t",5,"False" - то же самое к .exe

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 13:01 01-03-2010
vov4ka



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуте все.Оставлю здесь свой пост-возможно найдeтся человек,который мне поможет. Хочу задать всем вам вопрос. Сам я в написании скриптов,тем полее в .Net полный дуб,но необходимо реализовать слудующую задачу. На серваке стоит вебморда,работающая на Asp.Net 2.0., в левой части которой есть несколько ссылок,в которых потом есть еще вложенные.Кто-то может сбацать прогу или скрипт,который ходит рекурсивно по всем ссылкам, и ищет кнопку,к примеру,"завершить задание".Когда находит-нажимает,выходит в самое начало дерева и ищет в следующем разделе и т.д.?  
 
Помогите или,на худой конец, подскажите куда рыть,т.к. с такими задачами я не сталкивался,а решить ой как надо!!!

Всего записей: 110 | Зарегистр. 29-01-2009 | Отправлено: 14:58 01-03-2010 | Исправлено: vov4ka, 14:58 01-03-2010
cambit

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlth
Да, работает. Но мне надо преобразавать его в ехе-файл, который будет записан на CD. Пробовал множеством программ. Но почти все создают самораспаковывающийся архив, который сначала, естественно, распаковывается во временную папку, а потом запускает скрипт - уже из временной папки, в результате вылетает ошибка - см. ссылку: http://narod.ru/disk/18365453000/err.JPG.html
Вы скажете :
Цитата:
"Update.bat",5,"True" - здесь, наверное, надо указать путь к батнику.

Да, но на разных компьютерах буква CD-диска может быть РАЗНОЙ!
ВОТ В ЧЕМ ПРОБЛЕМА! Я думал, что можно средствами скрипта после распаковки заставить работать его как бы из CD, а не из времеенной папки. Либо создать ехе-файл с помощью scriptCriptor, которая работает по другому и не создает временных папок (так по крайней мере на сайте производителя обещают). Но файл созданный в ХР не запускается из под 98SE, а версии для оного в инете не нашел. Может кто поделится?
(извините за повтор)

Всего записей: 620 | Зарегистр. 09-06-2008 | Отправлено: 21:30 01-03-2010 | Исправлено: cambit, 21:53 01-03-2010
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cambit, если батник будет находиться в одной директории со скриптом:
Код:
... left (wsh.ScriptFullName, InStrRev(wsh.ScriptFullName,"\")) & "Update.bat",5,"True"      
 


Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 00:45 02-03-2010
cambit

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlth
Стоп. Скрипта у нас же нет, есть ехе-файл?

Всего записей: 620 | Зарегистр. 09-06-2008 | Отправлено: 09:54 02-03-2010
vlth

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

Цитата:
Стоп. Скрипта у нас же нет, есть ехе-файл?
 
Не понял... Что-то мешает создать exe заново, исправив скрипт?

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 11:25 02-03-2010
cambit

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет. Та же ошибка - не найден файл в строке 6. Вот она:
WSHShell.Run left (wsh.ScriptFullName, InStrRev(wsh.ScriptFullName,"\")) & "Update.bat",5,"True"

Всего записей: 620 | Зарегистр. 09-06-2008 | Отправлено: 17:53 02-03-2010
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так всё правильно. Только с True (уфф, сразу не заметил) кавычки убери. И проверь, чтобы скрипт в одной папке с батником лежал.

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 19:07 02-03-2010
cambit

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не, мужики, тоже самое. Может батник и остальные файлы нужно указать как то в самой PrimalScript?

Всего записей: 620 | Зарегистр. 09-06-2008 | Отправлено: 20:22 02-03-2010
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cambit, сначала, прежде чем exe запускать,  нескомпилированным скриптом пользоваться пробовал? - если - да, и было всё нормально, тогда дело в компиляторе, наверное...

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 21:49 02-03-2010
cambit

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В том то и дело - скрипт некомпилированный работает отлично!!!
Ребята! - Спасибо огромное за помощь. Плюнул я на все эти компиляторы, создал SFX-архив, засунул туда ВСЕ файлы (в т.ч. wscript.exe) прописал в запуск - wscript win98up.vbs и все пошло на ура! Проблема решена!

Всего записей: 620 | Зарегистр. 09-06-2008 | Отправлено: 23:35 02-03-2010
tyff

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здавствуйте Знатоки!
Очень нужна VBS-помощь:
1. Есть два текстовых файла 1.тхт и 2.тхт.
2. 1.тхт содержит следующие поля:
Доход
Расход
За пользование сайтом  
Служба поддержки
Ведение и учет
Жалобы
Добавить ХХХХХ
Убрать  
 
3. 2.тхт содержит только одну строчку (например техт12345.техт123456) которая каждый день обновляется
4. Нужен скрипт который бы копировал из файла 2.тхт эту строчку вместо ХХХХХ в файле 1.тхт
Заранее благодарю!

Всего записей: 8 | Зарегистр. 03-03-2010 | Отправлено: 05:56 03-03-2010 | Исправлено: tyff, 05:57 03-03-2010
vlth

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

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 09:12 03-03-2010
tyff

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извиняюсь за путанницу, vlth : мне надо заменять ХХХХХ на техт12345.техт123456 с учетом того, что техт12345.техт123456 каждый день меняется.
Т.е если завтра в файле 2.тхт будет написано техт6789.техт123456 то 1.тхт должен выглядеть так:  
Доход  
Расход  
За пользование сайтом  
Служба поддержки  
Ведение и учет  
Жалобы  
Добавить техт6789.техт123456  
Убрать  

Всего записей: 8 | Зарегистр. 03-03-2010 | Отправлено: 09:53 03-03-2010 | Исправлено: tyff, 10:03 03-03-2010
quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет.
 
Есть простой скрип, который копирует файлы:
 
Const OverWriteFiles = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "C:\1" , "C:\2" , OverWriteFiles
 
Можно ли сделать так, что бы вызывалась консоль с подсчетом оставшегося времени, как при простом копировании в Windows? А не происходило копирование в теневом режиме.

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 13:57 03-03-2010
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tyff
Код:
Dim fso, TxtStream
Dim Text1, Text2
Dim oRegExp  
 
Const File1= "C:\1.txt"
Const File2= "C:\2.txt"
 
set fso=wsh.CreateObject("Scripting.FileSystemObject")
 
If fso.FileExists(File1) Then
    If fso.FileExists(File2) Then
            Set TxtStream = fso.OpenTextFile(File2)
            Text2 = TxtStream.ReadAll
            Set TxtStream = fso.OpenTextFile(File1)
            Text1 = TxtStream.ReadAll
            Set oRegExp = New RegExp
            oRegExp.Pattern = "техт[0-9]*.техт[0-9]*"
            Text1 = oRegExp.Replace(Text1, Text2)
            Set oRegExp = Nothing
            Set TxtStream = fso.OpenTextFile(File1, 2)
            TxtStream.Write Text1
            Set TxtStream = Nothing
            Set fso = Nothing            
      Else
          MsgBox "Файл '" & File2 & "' не найден", _
                   vbOKOnly + vbCritical  
      End If
Else                  
    MsgBox "Файл '" & File1 & "' не найден", _
           vbOKOnly + vbCritical  
End If

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 13:59 03-03-2010 | Исправлено: vlth, 14:08 03-03-2010
tyff

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое, человеческое спасибо,vlth ,
Я только заменил:
 
oRegExp.Pattern = "техт[0-9]*.техт[0-9]*"  
на
 
oRegExp.Pattern = "техт(\w+)\.техт(\w+)\" <<<<<(\w+)\ в Regular Expression как "*" в батнике
 
И всё работает как надо.
vlth, вы-Волшебник!!!
 

Всего записей: 8 | Зарегистр. 03-03-2010 | Отправлено: 01:31 04-03-2010
vlth

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

Цитата:
Я только заменил: ...

tyff, а смысл? - шаблон теперь допускает отсутствие цифр после слова "техт". В таком случае, можно просто звёздочку поставить (oRegExp.Pattern = "техт*.техт*" ).

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 09:48 04-03-2010
tyff

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Принято, вы конечно правы,vlth.
Еще вопрос:
 
Имеется скрипт который проверяет имена файлов в определенной папке и записывает их в текстовый файл:
 
On Error Resume Next  
Dim fso, folder, files, NewsFile,sFolder  
Set fso = CreateObject("Scripting.FileSystemObject")  
Set folder = fso.GetFolder("C:\test")
Set outfile = fso.CreateTextFile("c:\temp\testout.txt")
Set files = folder.Files
 
For each folderIdx In files  
outfile.WriteLine(folderIdx.Name & ";" & folderIdx.DateCreated & ";" & folderIdx.DateLastModified)  
Next  
outfile.Close  
 
А как сделать чтобы записывались только имена таких, чей размер  равен 0.

Всего записей: 8 | Зарегистр. 03-03-2010 | Отправлено: 10:48 05-03-2010
vlth

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

Код:
For Each folderIdx In Files
    With folderIdx
        If .Size = 0 Then outfile.WriteLine _
            (.Name & ";" & .DateCreated & ";" & .DateLastModified)
    End With
Next

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 12:07 05-03-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