![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Добавление в *.VBS скрипт диалогового окна. |
|
VBS/WSH/JS - [решено] Добавление в *.VBS скрипт диалогового окна.
|
Новый участник Сообщения: 22 |
Добрый день!
Помогите реализовать следующую задачу: Имеется: *.VBS скрипт при запуске которого с помощью криптографии автоматически подписываются, шифруются, архивируются и переименовываются файлы находящиеся в папке OUT. Файлы именуются согласно маске MIFNS.001, MIFNS.002, MIFNS.003 и т.д. Если мне необходимо сделать так, чтобы нумерация начиналась не с 1, а с 3 (или любой другой цифры), я меняю значение строки nArjNumber =*, где * - номер начального файла. Что нужно сделать: При запуске скрипта должно сначала выводится диалоговое окно, которое просило бы ввести номер с которого будут начинать именоваться выходящие файлы, а потом уже идти шифрование и прочие процедуры. В общем сделать так, чтобы в случае чего не приходилось лезть руками в скрипт и менять номер самому. Сам скрипт во вложении. 'On Error Resume Next strFnsXmlFolder = "D:\BankScheta2\base\OUT\" const cMaxNum = 2000 Set sh = WScript.CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") m = Month(Now) d = Day(Now) y = Right(Year(Now), 2) If m < 10 Then m = "0" & m If d < 10 Then d = "0" & d strDate = y & m & d nArjNumber =1 Set folder = fso.GetFolder(strFnsXmlFolder) If Not fso.FolderExists(strFnsXmlFolder) Then MsgBox("Не найден каталог " & strFnsXmlFolder) Wscript.Quit End If strFnsTempFolder = strFnsXmlFolder & "Temp\" If Not fso.FolderExists(strFnsTempFolder) Then fso.CreateFolder(strFnsTempFolder) End If If Not fso.FolderExists(strFnsTempFolder) Then MsgBox("Не найден каталог " & strFnsTempFolder) Wscript.Quit End If Function CreateFnsArj() strNum = CStr(nArjNumber) n = 3 - Len(strNum) If n > 0 Then strNum = String( n, "0") + strNum strArjPath = strFnsXmlFolder & "BN25811" & strDate & "0" & strNum & ".ARJ" sh.Run "C:\ARH\arj32.exe a -e " & strArjPath & " " & strFnsTempFolder, 7, True strMifnsPath = strFnsXmlFolder & "MIFNS." & strNum ' sh.Run "D:\BankScheta2\scsignex.exe -s -f" & file.Path & " -o" & strFnsXmlFolder & "sign.log -b1", 7, True sh.Run "D:\BankScheta2\scsignex.exe -s -f" & strArjPath & " -o" & strFnsXmlFolder & "sign.log -b1", 7, True sh.Run "C:\ARH\arj32.exe a -e " & strMifnsPath & " " & strArjPath, 7, True fso.DeleteFile strFnsTempFolder & "*.*", True nArjNumber = nArjNumber + 1 End Function fso.DeleteFile strFnsTempFolder & "*.*", True strFileList = strFnsXmlFolder & "xmlfilelist.lst" set fList = fso.OpenTextFile(strFileList, 2, True) nCount = 0 Set folder = fso.GetFolder(strFnsXmlFolder) For each file in folder.files If (UCase(fso.GetExtensionName(file.Path)) = "XML") Then fList.WriteLine(file.Path) nCount = 1 End If Next fList.Close If nCount = 0 Then MsgBox("В каталоге " & strFnsTempFolder & "отсутствуют XML-файлы" ) Wscript.Quit End If sh.Run "C:\WINNT\asrkeyw.exe", 7, True sh.Run "subst A: /d", 7, True sh.Run "subst A: D:\BankScheta2\MGTU", 7, True sh.Run "D:\BankScheta2\scsignex.exe -s -l" & strFileList & " -o" & strFnsXmlFolder & "sign.log -b1", 7, True sh.Run "subst A: /d", 7, True sh.Run "subst A: D:\BankScheta2\CUKS", 7, True sh.Run "D:\BankScheta2\scsignex.exe -e -a0020 -l" & strFileList & " -o" & strFnsXmlFolder & "crypt.log -b1", 7, True sh.Run "subst A: /d", 7, True sh.Run "subst A: D:\BankScheta2\MGTU", 7, True nCount = 1 Set folder = fso.GetFolder(strFnsXmlFolder) For each file in folder.files If (UCase(fso.GetExtensionName(file.Path)) = "XML") Then fso.CopyFile file.Path, strFnsTempFolder, True If nCount = cMaxNum Then CreateFnsArj() nCount = 0 End If nCount = nCount + 1 End If Next If nCount > 1 Then CreateFnsArj() End If ' sh.Run "subst A: /d", 7, True |
|
Отправлено: 13:01, 11-02-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:37, 11-02-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Iska, спасибо!
А можно ли сделать так, чтобы по нажатию кнопки "Cancel" скрипт полностью прекращал свою работу? Сейчас он валится с ошибкой (см. скриншот). Жалуется на 17 строку "nArjNumber = CInt(Trim(InputBox("Enter start number", "Enter number", 1)))". Видимо после нажатия отмены хочет продолжать свою работу, но ничего не получается. ![]() |
Отправлено: 14:44, 11-02-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:28, 11-02-2015 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Iska, всё получилось! Большое Вам спасибо!
|
|
Отправлено: 16:11, 11-02-2015 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - подвисает после закрытия диалогового окна | woffka@vk | Microsoft Windows 7 | 3 | 17-04-2012 16:56 | |
Ошибка - [решено] Зеркальное отображение диалогового окна | AnIG | Microsoft Windows 2000/XP | 4 | 22-04-2011 10:40 | |
MFC - Открытие диалогового окна MFC | vayak | Программирование и базы данных | 1 | 23-12-2009 23:39 | |
Удаление ярлыка из диалогового окна автозапуска | larios | Microsoft Windows 2000/XP | 1 | 03-02-2007 09:38 | |
Пропал элемент диалогового окна | antOOn | Microsoft Windows 2000/XP | 8 | 29-01-2005 00:19 |
|