![Wie entpacke ich eine Datei mit der Befehlstaste?](https://rvso.com/image/1558697/Wie%20entpacke%20ich%20eine%20Datei%20mit%20der%20Befehlstaste%3F.png)
Ich möchte eine BAT-Datei erstellen, die eine Datei komprimieren oder entpacken kann. Zum Komprimieren einer Datei habe ich diese Frage gefunden: Können Sie eine Datei aus der Eingabeaufforderung heraus komprimieren und dabei NUR die in Windows integrierte Funktion zum Komprimieren von Dateien verwenden?
Die dort gegebenen Antworten sind großartig und funktionieren für mich, aber ich konnte keine Informationen zum Entpacken der Dateien finden. Wie im Link kann ich keine Tools von Drittanbietern (außer winRAR) annehmen.
Vielen Dank im Voraus und entschuldigen Sie die Fehler in der englischen Sprache
Antwort1
Dieser Batchdateicode hilft Ihnen beim Entpacken einer Datei.
@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%
AchtungC:\Temp ist der Ordner, in dem die extrahierte (entpackte) Datei gespeichert wird.
Und c:\Ordnername\batch.zip ist der Quellpfad (wo die Zip-Dateien gespeichert sind).
Bitte ändern Sie den vollständigen Dateipfad (Laufwerk, Ordner und Zip-Dateiname) entsprechend Ihrem Bedarf.
Antwort2
Unter Windows 10 Build 17063 oder höher können Sie verwenden tar.exe
(ähnlich wie *nix). Dies ist auch im Nanoserver-Docker-Container verfügbar
C:\> tar -xf archive.zip
Hinweis: Die Zip-Unterstützung ist nicht gut dokumentiert
Verweis:https://www.freebsd.org/cgi/man.cgi?query=bsdtar&sektion=1&manpath=FreeBSD+5.3-stable
Antwort3
Wenn Sie Windows 10 haben, können Sie das viel kürzere Powershell-Äquivalent verwenden
Expand-Archive -Force C:\path\to\archive.zip C:\where\to\extract\to
Antwort4
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
Das folgende VB-Skript kann als Datei „.vbs“ gespeichert und dann mit einem Batch-Skript wie diesem ausgeführt werden:
file.vbs
Speichern Sie dies in einer .bat-Datei und führen Sie es aus.