Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
.rar
с использованием VBS-скрипта, вам понадобится программа, которая может это сделать. Одним из популярных инструментов для работы с архивами формата RAR является WinRAR. Предположим, что WinRAR установлен на вашем компьютере и его путь добавлен в системную переменную PATH..rar
в указанную папку с использованием пароля:Dim shell
Set shell = CreateObject("WScript.Shell")
' Укажите путь к вашему архиву
Dim rarFile
rarFile = "C:\path\to\your\archive.rar"
' Укажите папку для распаковки
Dim outputFolder
outputFolder = "C:\1"
' Укажите пароль
Dim password
password = "12345"
' Команда для распаковки
Dim command
command = "winrar x -p" & password & " """ & rarFile & """ """ & outputFolder & """"
' Выполнение команды
shell.Run command, 0, True
Set shell = Nothing
C:\path\to\your\archive.rar
на фактический путь к вашему RAR-файлу.C:\1
будет использоваться для распаковки содержимого архива..vbs
, например, extract.vbs
.winrar
на полный путь к исполняемому файлу WinRAR, например, C:\Program Files\WinRAR\winrar.exe
.Чтобы создать VBS-скрипт для распаковки ZIP-файла с использованием встроенного в Windows инструмента "Сжатая ZIP-папка", вы можете воспользоваться объектомКакой будет vbs скрипт для распаковки файла.zip в папку C:\1, если я буду использовать системный zip-архиватор, а именно "сжатая zip папка" ?
Shell
. Вот пример такого скрипта:Dim objShell
Dim sourceZip
Dim destinationFolder
sourceZip = "C:\путь\к\вашему\файлу.zip" ' Укажите путь к вашему ZIP-файлу
destinationFolder = "C:\1" ' Укажите путь к папке, куда нужно распаковать
Set objShell = CreateObject("Shell.Application")
' Создаем объект для ZIP-файла
Set zipFile = objShell.NameSpace(sourceZip)
' Проверяем, существует ли ZIP-файл
If Not zipFile Is Nothing Then
' Распаковываем содержимое ZIP-файла в указанную папку
objShell.NameSpace(destinationFolder).CopyHere(zipFile.Items)
Else
WScript.Echo "ZIP-файл не найден."
End If
' Освобождаем память
Set zipFile = Nothing
Set objShell = Nothing
Shell.Application
, который позволяет работать с файловой системой.CopyHere
для распаковки содержимого ZIP-файла в указанную папку.Nothing
.Option Explicit
' ========= Пример архивирования папки ========
Dim Zip, ArcPath, FolderPath
' Где создаем архив
ArcPath = "h:\_VBS...
Option Explicit
' ========= Пример архивирования папки ========
Dim Zip, ArcPath, FolderPath
' Где создаем архив
ArcPath = "h:\_VBS, WSH\Архивация\My_Class\test.zip"
' Какую папку архивируем
FolderPath = "h:\_VBS, WSH\Архивация\My_Class\ToArc"
Set Zip = New ZipClass
if (Zip.CreateArchive (ArcPath)) then ' старый архив затирается
Zip.CopyFolderToArchive FolderPath
end if
msgbox "Папка " & FolderPath & " заархивирована."
' ========= Пример добавления файла в уже созданный архив ========
Dim...
Похоже, вы хотите добавить ссылки на посты, связанные с кодом VBScript и распаковкой архивов с помощью командной строки. Если вам нужна помощь с этими темами, дайте знать, и я постараюсь предоставить полезную информацию или объяснения.Добавлю
Класс для создания и распаковки архивов ZIP.
- позволяет обходить ошибку при добавлении пустых папок*
- позволяет добавлять файлы с атрибутом "скрытый"
- правильно рассчитывает задержку при распаковке в папку, где уже есть другие файлы
* за исключением уникальных случаев, когда в корне папки для упаковки попадутся:
объект (файл или папка) со знаком ; и пустая папка с таким же именем, где на месте ; стоит любой другой знак.
VB.NET / VBA:Option Explicit ' ========= Пример архивирования папки ======== Dim Zip, ArcPath, FolderPath ' Где создаем архив ArcPath = "h:\_VBS...
@Сергій, мой тоже, пользуйтесь VPN.
Продублировал код сюда (файл .vbs):
VB.NET / VBA:Option Explicit ' ========= Пример архивирования папки ======== Dim Zip, ArcPath, FolderPath ' Где создаем архив ArcPath = "h:\_VBS, WSH\Архивация\My_Class\test.zip" ' Какую папку архивируем FolderPath = "h:\_VBS, WSH\Архивация\My_Class\ToArc" Set Zip = New ZipClass if (Zip.CreateArchive (ArcPath)) then ' старый архив затирается Zip.CopyFolderToArchive FolderPath end if msgbox "Папка " & FolderPath & " заархивирована." ' ========= Пример добавления файла в уже созданный архив ======== Dim...
Для создания VBS-скрипта, который будет распаковывать файл ZIP в указанную папку и проверять наличие файлов в целевой папке, вы можете использовать следующий код:Какой будет vbs скрипт для распаковки файла.zip в папку C:\1, если я буду использовать системный zip-архиватор, а именно "сжатая zip папка" ? При этом vbs скрипт должен соблюдать условие, а именно, проверять: существуют ли уже файлы, которые нужно распаковать из файла.zip в папке C:\1
Option Explicit
Dim zipFilePath, targetFolder, fso, zip, shell, file, filesExist
zipFilePath = "C:\path\to\your\file.zip" ' Укажите путь к вашему zip-файлу
targetFolder = "C:\1" ' Папка для распаковки
Set fso = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("Shell.Application")
' Проверяем, существует ли папка для распаковки
If Not fso.FolderExists(targetFolder) Then
fso.CreateFolder(targetFolder)
End If
' Проверяем, существуют ли файлы в целевой папке
filesExist = False
For Each file In fso.GetFolder(targetFolder).Files
If LCase(fso.GetFileName(zipFilePath)) = LCase(fso.GetFileName(file.Name)) Then
filesExist = True
Exit For
End If
Next
If filesExist Then
WScript.Echo "Файлы уже существуют в папке " & targetFolder
Else
' Распаковываем zip-файл
Set zip = shell.NameSpace(zipFilePath)
If Not zip Is Nothing Then
shell.NameSpace(targetFolder).CopyHere(zip.Items)
WScript.Echo "Распаковка завершена."
Else
WScript.Echo "Не удалось открыть zip-файл."
End If
End If
' Освобождаем ресурсы
Set zip = Nothing
Set shell = Nothing
Set fso = Nothing
CopyHere
.Для распаковки файлаКакой будет vbs скрипт для распаковки файла.zip в папку C:\1, если я буду использовать системный zip-архиватор, а именно "сжатая zip папка" ? После распаковки скрипт должен удалить файл.zip без запроса на удаление.
.zip
в папку C:\1
с использованием системного архиватора Windows и удаления файла после распаковки, вы можете использовать следующий VBS скрипт:Option Explicit
Dim objShell, zipFile, destinationFolder
' Укажите путь к zip-файлу и папке назначения
zipFile = "C:\path\to\your\file.zip" ' Замените на ваш путь к zip-файлу
destinationFolder = "C:\1"
' Создайте объект Shell
Set objShell = CreateObject("Shell.Application")
' Распакуйте zip-файл
objShell.Namespace(destinationFolder).CopyHere objShell.Namespace(zipFile).Items
' Подождите, пока распаковка завершится
WScript.Sleep 2000 ' Задержка в 2 секунды (можно увеличить, если нужно)
' Удалите zip-файл
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(zipFile) Then
fso.DeleteFile(zipFile, True) ' Удаление файла без запроса
End If
' Освобождение ресурсов
Set fso = Nothing
Set objShell = Nothing
Shell.Application
, который позволяет нам работать с системными функциями Windows, включая работу с файлами и папками.zipFile
и путь к папке, куда вы хотите распаковать файлы, в переменной destinationFolder
.CopyHere
используется для распаковки содержимого zip-файла в указанную папку.WScript.Sleep
используется для установки небольшой задержки, чтобы убедиться, что распаковка завершится, прежде чем мы попытаемся удалить zip-файл. Вы можете увеличить время задержки, если у вас большие архивы.FileSystemObject
для удаления zip-файла без запроса.Удаление самого себя VBS-скриптом — это интересная задача, которую можно реализовать с помощью нескольких шагов. Однако важно помнить, что удаление файлов, особенно программных, может привести к потере данных или нарушению работы системы. Убедитесь, что вы понимаете последствия и используете этот код только в безопасной среде.Как VBS скрипт может удалить сам себя?
Dim fso, scriptPath
' Создаем объект FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' Получаем путь к текущему скрипту
scriptPath = WScript.ScriptFullName
' Удаляем файл
fso.DeleteFile(scriptPath)
FileSystemObject
: Этот объект предоставляет методы для работы с файловой системой.WScript.ScriptFullName
возвращает полный путь к исполняемому VBS-скрипту.DeleteFile
удаляет файл по указанному пути.Интересно знать - для какой цели?Как VBS скрипт может удалить сам себя?
Скрипт каждый раз распаковывает один и тот же архив если его добавить в планировщик задач, что не очень удобно, т.к при первой отработки он распаковывает архив, а когда отрабатывает второй раз он спрашивает о замене файлов. Поэтому мне проще чтобы он выполнил задачу и стер сам себя. Нет времени контролировать этот процесс. Компания большая, клиентских ПК много, не хочу тратить времяИнтересно знать - для какой цели
тогда правильней удалить задачу на запуск скрипта, имхо.если его добавить в планировщик задач, что не очень удобно
Ваш код на VBScript для удаления задания в планировщике задач выглядит почти правильно, но есть небольшие нюансы, которые стоит учесть. Давайте разберем его по частям и внесем необходимые исправления.Удаление задания:
Код:taskName = "имя задания" CreateObject("WScript.Shell").Exec("schtasks /delete /tn """ & taskName & """ /f")
taskName = "имя задания"
CreateObject("WScript.Shell").Exec("schtasks /delete /tn """ & taskName & """ /f")
"
- это HTML-сущность для кавычек. В VBScript вам нужно использовать обычные двойные кавычки ("
). Чтобы правильно вставить кавычки в команду, используйте тройные кавычки ("""
).schtasks /delete /tn "имя задания" /f
используется для удаления задания. Параметр /f
указывает на то, что удаление должно происходить без подтверждения.taskName = "МоеЗадание"
CreateObject("WScript.Shell").Exec("schtasks /delete /tn """ & taskName & """ /f")
После запуска скрипта получаю ошибку: Ошибка: Требуется объект: 'Namespace(...)' . Как это исправить?Для распаковки файла.zip
в папкуC:\1
с использованием системного архиватора Windows и удаления файла после распаковки, вы можете использовать следующий VBS скрипт:
Код:Option Explicit Dim objShell, zipFile, destinationFolder ' Укажите путь к zip-файлу и папке назначения zipFile = "C:\path\to\your\file.zip" ' Замените на ваш путь к zip-файлу destinationFolder = "C:\1" ' Создайте объект Shell Set objShell = CreateObject("Shell.Application") ' Распакуйте zip-файл objShell.Namespace(destinationFolder).CopyHere objShell.Namespace(zipFile).Items ' Подождите, пока распаковка завершится WScript.Sleep 2000 ' Задержка в 2 секунды (можно увеличить, если нужно) ' Удалите zip-файл Dim fso Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(zipFile) Then fso.DeleteFile(zipFile, True) ' Удаление файла без запроса End If ' Освобождение ресурсов Set fso = Nothing Set objShell = Nothing
### Пояснение:
1. Объект Shell: Мы создаем объектShell.Application
, который позволяет нам работать с системными функциями Windows, включая работу с файлами и папками.
2. Пути к файлам: Вам нужно указать путь к вашему zip-файлу в переменнойzipFile
и путь к папке, куда вы хотите распаковать файлы, в переменнойdestinationFolder
.
3. Распаковка: МетодCopyHere
используется для распаковки содержимого zip-файла в указанную папку.
4. Задержка:WScript.Sleep
используется для установки небольшой задержки, чтобы убедиться, что распаковка завершится, прежде чем мы попытаемся удалить zip-файл. Вы можете увеличить время задержки, если у вас большие архивы.
5. Удаление файла: Мы используем объектFileSystemObject
для удаления zip-файла без запроса.
### Вопросы:
Если вам нужно внести изменения в скрипт, например, изменить пути или добавить дополнительные функции, дайте знать!
Ошибка "Требуется объект: 'Namespace(...)" указывает на то, что скрипт не может найти указанный zip-файл или папку назначения. Давайте проверим несколько моментов, чтобы исправить эту проблему.После запуска скрипта получаю ошибку: Ошибка: Требуется объект: 'Namespace(...)' . Как это исправить?
C:\Users\ВашеИмя\Downloads\file.zip
, убедитесь, что вы указали этот полный путь в переменной zipFile
.vbscript
zipFile = "C:\Users\ВашеИмя\Downloads\file.zip"
C:\1
в вашем случае) существует. Если папка не существует, создайте её вручную или добавьте код для её создания в скрипт.vbscript
If Not fso.FolderExists(destinationFolder) Then
fso.CreateFolder(destinationFolder)
End If
vbscript
Option Explicit
Dim objShell, zipFile, destinationFolder, fso
' Укажите путь к zip-файлу и папке назначения
zipFile = "C:\Users\ВашеИмя\Downloads\file.zip" ' Замените на ваш путь к zip-файлу
destinationFolder = "C:\1"
' Создайте объект Shell и FileSystemObject
Set objShell = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
' Проверьте, существует ли zip-файл
If fso.FileExists(zipFile) Then
' Проверьте, существует ли папка назначения, если нет, создайте её
If Not fso.FolderExists(destinationFolder) Then
fso.CreateFolder(destinationFolder)
End If
' Распакуйте zip-файл
objShell.Namespace(destinationFolder).CopyHere objShell.Namespace(zipFile).Items
' Подождите, пока распаковка завершится
WScript.Sleep 2000 ' Задержка в 2 секунды (можно увеличить, если нужно)
' Удалите zip-файл
fso.DeleteFile(zipFile, True) ' Удаление файла без запроса
Else
MsgBox "Файл не найден: " & zipFile, vbExclamation, "Ошибка"
End If
' Освобождение ресурсов
Set fso = Nothing
Set objShell = Nothing
Переделал скрипт, эта запись отрабатывает (MsgBox "Файл не найден: " & zipFile, vbExclamation, "Ошибка") и у меня появляется сообщение что путь до файла не найден. Вставляю полный путь, который указан до файла.zip в zipfile и он по нему переходит, значит путь верен, но ошибка все равно появляется.Ошибка "Требуется объект: 'Namespace(...)" указывает на то, что скрипт не может найти указанный zip-файл или папку назначения. Давайте проверим несколько моментов, чтобы исправить эту проблему.
### Шаги для исправления:
1. Проверьте путь к zip-файлу:
Убедитесь, что путь к zip-файлу указан правильно. Например, если ваш файл находится по адресуC:\Users\ВашеИмя\Downloads\file.zip
, убедитесь, что вы указали этот полный путь в переменнойzipFile
.
Пример:
Код:vbscript zipFile = "C:\Users\ВашеИмя\Downloads\file.zip"
2. Проверьте существование zip-файла:
Перед запуском скрипта убедитесь, что zip-файл действительно существует по указанному пути. Вы можете сделать это, просто перейдя к этому пути в проводнике.
3. Проверьте папку назначения:
Убедитесь, что папка назначения (C:\1
в вашем случае) существует. Если папка не существует, создайте её вручную или добавьте код для её создания в скрипт.
Пример для создания папки:
Код:vbscript If Not fso.FolderExists(destinationFolder) Then fso.CreateFolder(destinationFolder) End If
4. Полный пример с проверкой существования:
Вот обновленный скрипт, который включает проверку существования папки и файла:
Код:vbscript Option Explicit Dim objShell, zipFile, destinationFolder, fso ' Укажите путь к zip-файлу и папке назначения zipFile = "C:\Users\ВашеИмя\Downloads\file.zip" ' Замените на ваш путь к zip-файлу destinationFolder = "C:\1" ' Создайте объект Shell и FileSystemObject Set objShell = CreateObject("Shell.Application") Set fso = CreateObject("Scripting.FileSystemObject") ' Проверьте, существует ли zip-файл If fso.FileExists(zipFile) Then ' Проверьте, существует ли папка назначения, если нет, создайте её If Not fso.FolderExists(destinationFolder) Then fso.CreateFolder(destinationFolder) End If ' Распакуйте zip-файл objShell.Namespace(destinationFolder).CopyHere objShell.Namespace(zipFile).Items ' Подождите, пока распаковка завершится WScript.Sleep 2000 ' Задержка в 2 секунды (можно увеличить, если нужно) ' Удалите zip-файл fso.DeleteFile(zipFile, True) ' Удаление файла без запроса Else MsgBox "Файл не найден: " & zipFile, vbExclamation, "Ошибка" End If ' Освобождение ресурсов Set fso = Nothing Set objShell = Nothing
### Вопрос:
Попробуйте обновленный скрипт и дайте знать, если ошибка всё ещё возникает или если есть другие вопросы!