cmdを使用してファイルを解凍するには?

ファイルをZIPしたりUNZIPしたりするBATファイルを作りたいのですが、どうすればいいですか?ファイルのZIP化については、このような質問がありました。 https://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using-only-windows-built-in-capabili/112094

しかし、ファイルを解凍する方法についての情報は見つかりませんでした。リンク先のように、私はサードパーティのツール(winRARを除く)を想定できません。

ありがとうございました。

Windows 10をお使いの場合は、より短いPowershellの同等品を使用することができます。

Expand-Archive -Force C:\path\to\archive.zip C:\where\to\extract\to
解説 (1)
ソリューション

このバッチファイルのコードは、ファイルを解凍するのに役立ちます。

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

:UnZipFile  
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%

N.B. C: \Tempは解凍(UnZip)ファイルを格納するフォルダーです。

また、c: \FolderNamebatch.zip はソースパス(Zip ファイルが格納されている場所)です。

*フルファイルパス(ドライブ名、フォルダ名、Zipファイル名)は、必要に応じて変更してください。

解説 (0)
ZipFile="C:\Users\spvaidya\Music\folder.zip"
ExtractTo="C:\Users\spvaidya\Music\"

'If the extraction location does not exist create it.

Set fso = CreateObject("Scripting.FileSystemObject")

If NOT fso.FolderExists(ExtractTo) Then

 fso.CreateFolder(ExtractTo)

End If

'Extract the contants of the zip file.

set objShell = CreateObject("Shell.Application")

set FilesInZip=objShell.NameSpace(ZipFile).items

objShell.NameSpace(ExtractTo).CopyHere(FilesInZip)

Set fso = Nothing
Set objShell = Nothing

以下のvbscriptをfile.vbsとして保存し、バッチスクリプトで実行することができます。

file.vbs

を .bat ファイルに保存して実行します。

解説 (0)