Які команди можна використовувати за допомогою командного рядка для розпакування файлу?
Переважно щось вбудоване в Windows або відкритий / безкоштовний інструмент.
Exand-Archive
та Compress-Archive
. Честь, де належить честь.
Які команди можна використовувати за допомогою командного рядка для розпакування файлу?
Переважно щось вбудоване в Windows або відкритий / безкоштовний інструмент.
Exand-Archive
та Compress-Archive
. Честь, де належить честь.
Відповіді:
Ви можете використовувати:
http://membrane.com/synapse/library/pkunzip.html
або
7zip: http://www.7-zip.org/download.html
Безкоштовний байт- поштовий індекс: http://www.freebyte.com/fbzip/
або infozip: http://infozip.sourceforge.net/
powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
Якщо у вас вже є java на вашому ПК, а каталог bin знаходиться на вашому шляху (у більшості випадків), ви можете скористатися командним рядком:
jar xf test.zip
або якщо немає на вашому шляху:
C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Повний набір опцій для інструменту фляги доступного тут .
Приклади:
Extract jar file
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]
По-перше, напишіть утиліту unzip, використовуючи vbscript, щоб запустити натиснуту функцію розпакування в Windows. Потім виведіть скрипт з вашого пакетного файлу, а потім зателефонуйте. Тоді це так само добре, як самостійно. Я робив це в минулому для численних завдань. Таким чином, він не потребує сторонніх додатків, а лише один пакетний файл, який робить все.
Я прикладу у своєму блозі про те, як розпакувати файл за допомогою пакетного файлу :
' j_unzip.vbs
'
' UnZip a file script
'
' By Justin Godden 2010
'
' It's a mess, I know!!!
'
' Dim ArgObj, var1, var2
Set ArgObj = WScript.Arguments
If (Wscript.Arguments.Count > 0) Then
var1 = ArgObj(0)
Else
var1 = ""
End if
If var1 = "" then
strFileZIP = "example.zip"
Else
strFileZIP = var1
End if
'The location of the zip file.
REM Set WshShell = CreateObject("Wscript.Shell")
REM CurDir = WshShell.ExpandEnvironmentStrings("%%cd%%")
Dim sCurPath
sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
strZipFile = sCurPath & "\" & strFileZIP
'The folder the contents should be extracted to.
outFolder = sCurPath & "\"
WScript.Echo ( "Extracting file " & strFileZIP)
Set objShell = CreateObject( "Shell.Application" )
Set objSource = objShell.NameSpace(strZipFile).Items()
Set objTarget = objShell.NameSpace(outFolder)
intOptions = 256
objTarget.CopyHere objSource, intOptions
WScript.Echo ( "Extracted." )
' This bit is for testing purposes
REM Dim MyVar
REM MyVar = MsgBox ( strZipFile, 65, "MsgBox Example"
Використовуйте його так:
cscript //B j_unzip.vbs zip_file_name_goes_here.zip
7-Zip , це відкритий код, безкоштовний і підтримує широкий спектр форматів.
7z.exe x myarchive.zip
Як нагадали інші, 7-блискавка чудова.
Примітка. Я збираюсь копіювати файл, а потім розпаковувати файл. Розпакуйте внизу.
Мій внесок:
Отримати
Версія 7-Zip командного рядка
Поточна URL-адреса
http://www.7-zip.org/download.html
Синтаксис?
Ви можете помістити в файл .bat
"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Я показав кілька варіантів.
-r є рекурсивним. Зазвичай те, що потрібно з функцією zip.
a - це "архів". Це ім'я вихідного zip-файлу.
-p - для пароля (необов’язково)
-w - це вихідний каталог. Це дозволить правильно вкласти файли у zip-файл, без додаткової інформації про папки.
-mem - сила шифрування.
Є й інші. Але вищесказане змусить вас бігти.
ПРИМІТКА. Додавання пароля зробить поштовий файл непривітним, коли справа стосується перегляду файлу через Провідник Windows. Клієнту може знадобитися власна копія 7-zip (або winzip чи інша) для перегляду вмісту файлу.
EDIT ::::::::::: :( просто додаткові речі).
Існує версія "командного рядка", яка, мабуть, краще підходить для цього: http://www.7-zip.org/download.html
(поточне (на момент написання) пряме посилання) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
Отже команда zip була б (з версією командного рядка інструмента 7 zip).
"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Тепер розпакуйте частину : (щоб розпакувати файл, який ви тільки що створили)
"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
В якості альтернативи аргументу "е" є аргумент ax.
e: Extract files from archive (without using directory names)
x: eXtract files with full paths
Документація тут:
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
Дякую Річ, я це зазначу. Тож ось сценарій мого власного рішення. Він не вимагає розкручування інструментів сторонніх розробників.
Включіть скрипт нижче на початку пакетного файлу, щоб створити функцію, а потім для виклику функції команда ...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
Ось сценарій, який потрібно додати до початку ...
REM Зміна робочої папки назад у поточний каталог для сумісності Vista та 7 % ~ d0 CD% ~ dp0 Папка REM змінена REM-файли цього сценарію. > j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'Розпакуйте сценарій файлу >> j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'Це безлад, я знаю !!! >> j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO 'Dim ArgObj, var1, var2 >> j_unzip.vbs ECHO Встановити ArgObj = WScript. Аргументи >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO If (Wscript.Arguments.Count ^> 0) Потім >> j_unzip.vbs ECHO. var1 = ArgObj (0) >> j_unzip.vbs ECHO Else >> j_unzip.vbs ECHO. var1 = "" >> j_unzip.vbs ECHO Кінець, якщо >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Якщо var1 = "", то >> j_unzip.vbs ECHO. strFileZIP = "example.zip" >> j_unzip.vbs ECHO Else >> j_unzip.vbs ECHO. strFileZIP = var1 >> j_unzip.vbs ECHO Кінець, якщо >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO 'Розташування zip-файлу. >> j_unzip.vbs ECHO REM Встановити WshShell = CreateObject ("Wscript.Shell") >> j_unzip.vbs ECHO REM CurDir = WshShell.ExpandEnvironmentStrings ("%% cd %%") >> j_unzip.vbs ECHO Dim sCurPath >> j_unzip.vbs ECHO sCurPath = CreateObject ("Scripting.FileSystemObject"). GetAbsolutePathName (".") >> j_unzip.vbs ECHO strZipFile = sCurPath ^ & "\" ^ & strFileZIP >> j_unzip.vbs ECHO 'Папка, до якої слід вилучити вміст. >> j_unzip.vbs ECHO outFolder = sCurPath ^ & "\" >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO. WScript.Echo ("Вилучення файлу" ^ & strFileZIP) >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Встановити objShell = CreateObject ("Shell.Application") >> j_unzip.vbs ECHO Встановити objSource = objShell.NameSpace (strZipFile) .Items () >> j_unzip.vbs ECHO Встановити objTarget = objShell.NameSpace (outFolder) >> j_unzip.vbs ECHO intOptions = 256 >> j_unzip.vbs ECHO objTarget.CopyHere objSource, intOptions >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO. WScript.Echo ("Витягнуто.") >> j_unzip.vbs ECHO.
Тут ви знайдете статтю про потрапляння до вбудованого Windows .ZIP-файлу, який обробляє VBscript:
https://www.aspfree.com/c/a/Windows-Scripting/Compression-Folders-in-WSH/
(Останній розмиття коду стосується видобутку)
Спочатку ZIP-файли створювалися за допомогою програмного забезпечення командного рядка MS-DOS від PKWare, дві програми - PKZIP.EXE та PKUNZIP.EXE. Я думаю, ви все ще можете завантажити PKUNZIP на сайті PKWare тут:
http://www.pkware.com/software-pkzip/dos-compression
Фактичний командний рядок може виглядати приблизно так:
C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\
Візьміть виконуваний файл з info-zip .
Info-ZIP підтримує апаратне забезпечення від мікрокомп'ютерів аж до суперкомп'ютерів Cray, працює майже на всіх версіях Unix, VMS, OS / 2, Windows 9x / NT / тощо. (aka Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Mac OS, SMS / QDOS, MVS та OS / 390 OE, VM / CMS, FlexOS, Tandem NSK та Human68K (японська). Існує також деяка (стара) підтримка LynxOS, TOPS-20, AOS / VS та Novell NLM. Спільні бібліотеки (DLL) доступні для Unix, OS / 2, Win32 та Win16, а графічні інтерфейси доступні для Win32, Win16, WinCE та Mac OS.
Скопіюйте наведений нижче код у пакетний файл та виконайте його. Нижче потрібно встановити / отримати доступ до Winzip з вашої машини. Змінюйте змінні відповідно до ваших потреб.
@ECHO OFF
SET winzip_path="C:\Program Files\WinZip"
SET source_path="C:\Test"
SET output_path="C:\Output\"
SET log_file="C:\Test\unzip_log.txt"
SET file_name="*.zip"
cd %source_path%
echo Executing for %source_path% > %log_file%
FOR /f "tokens=*" %%G IN ('dir %file_name% /b') DO (
echo Processing : %%G
echo File_Name : %%G >> %log_file%
%winzip_path%\WINZIP32.EXE -e %%G %output_path%
)
PAUSE