cmd を使用してファイルを解凍するにはどうすればいいですか?

cmd を使用してファイルを解凍するにはどうすればいいですか?

ファイルを ZIP または UNZIP する BAT ファイルを作成したいと考えています。ファイルを ZIP 圧縮する場合、次の質問を見つけました: Windows に組み込まれているファイルの圧縮機能のみを使用して、コマンド プロンプトからファイルを圧縮できますか?

そこに与えられた答えは素晴らしく、私にとってはうまくいきましたが、ファイルを解凍する方法に関する情報は見つかりませんでした。リンクにあるように、サードパーティのツール(winRAR を除く)を想定することはできません。

よろしくお願いします。英語の間違いがあったらごめんなさい

答え1

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

@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%

注意C:\Temp は、抽出された (UnZip) ファイルを保存するフォルダーです。

また、c:\FolderName\batch.zip はソース パス (Zip ファイルが保存される場所) です。

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

答え2

Windows 10ビルド17063以降では、tar.exe(nixのものと同様の)を使用できます。これはnanoserver dockerコンテナでも利用できます。

C:\> tar -xf archive.zip

注: zipサポートは十分に文書化されていません

参照:https://www.freebsd.org/cgi/man.cgi?query=bsdtar&sektion=1&manpath=FreeBSD+5.3-stable

答え3

Windows 10をお使いの場合は、より短いPowershellの同等のコマンドを使用できます。

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

答え4

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 ファイルに保存して実行します。

関連情報