6

Я хочу сделать BAT-файл, который будет ZIP или UNZIP файл. Для архивирования файла я нашел такой вопрос:Вы можете заархивировать файл из командной строки, используя встроенную возможность ТОЛЬКО в Windows для архивирования файлов?

Ответы, которые там даны, хороши и работают для меня, но я не смог найти никакой информации о том, как разархивировать файлы. Как и в ссылке, я не могу принять какие-либо сторонние инструменты (кроме winRAR).

Спасибо вперед и извините за английские ошибки

2 ответа2

4

Этот код пакетного файла поможет вам распаковать файл.

@echo off
setlocal
cd /d %~dp0
Call :UnZipFile "C:\Temp\" "c:\FolderName\batch.zip"
exit /b

:UnZipFile <ExtractTo> <newzipfile>
set vbs="%temp%\_.vbs"
if exist %vbs% del /f /q %vbs%
>%vbs%  echo Set fso = CreateObject("Scripting.FileSystemObject")
>>%vbs% echo If NOT fso.FolderExists(%1) Then
>>%vbs% echo fso.CreateFolder(%1)
>>%vbs% echo End If
>>%vbs% echo set objShell = CreateObject("Shell.Application")
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items
>>%vbs% echo objShell.NameSpace(%1).CopyHere(FilesInZip)
>>%vbs% echo Set fso = Nothing
>>%vbs% echo Set objShell = Nothing
cscript //nologo %vbs%
if exist %vbs% del /f /q %vbs%

NB C:\Temp - это папка, в которой хранится извлеченный (разархивированный) файл.

И, c:\FolderName\batch.zip - это исходный путь (где хранятся Zip-файлы).

Измените полный путь к файлу (имя диска, папки и Zip-файла) в соответствии с вашими потребностями.

3

Если у вас Windows 10, вы можете использовать гораздо более короткий эквивалент Powershell

Expand-Archive -Force C:\path\to\archive.zip C:\where\to\extract\to

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .