Можно ли заставить 7Zip извлечь один файл по имени из архива по указанному полному пути (включая новое имя файла)?
Я нашел только:
7zip e <archive> -o<resultDirectory> <filemask>
Но это не то, что мне нужно.
Можно ли заставить 7Zip извлечь один файл по имени из архива по указанному полному пути (включая новое имя файла)?
Я нашел только:
7zip e <archive> -o<resultDirectory> <filemask>
Но это не то, что мне нужно.
Вы можете использовать опцию -so
для записи данных в стандартный stdout
и перенаправления в целевой файл:
Пример:
7z e -so xxxx.7z > yyy.txt
Справка командной строки бета-версии 9.22
:
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>]
<Commands>
a: Add files to archive
b: Benchmark
d: Delete files from archive
e: Extract files from archive (without using directory names)
l: List contents of archive
t: Test integrity of archive
u: Update files to archive
x: eXtract files with full paths
<Switches>
-ai[r[-|0]]{@listfile|!wildcard}: Include archives
-ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
-bd: Disable percentage indicator
-i[r[-|0]]{@listfile|!wildcard}: Include filenames
-m{Parameters}: set compression Method
-o{Directory}: set Output directory
-p{Password}: set Password
-r[-|0]: Recurse subdirectories
-scs{UTF-8 | WIN | DOS}: set charset for list files
-sfx[{name}]: Create SFX archive
-si[{name}]: read data from stdin
-slt: show technical information for l (List) command
-so: write data to stdout
-ssc[-]: set sensitive case mode
-ssw: compress shared files
-t{Type}: Set type of archive
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
-v{Size}[b|k|m|g]: Create volumes
-w[{path}]: assign Work directory. Empty path means a temporary directory
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
-y: assume Yes on all queries
Более поздние альфа-версии (9.30) также не позволяют указывать целевое имя файла в качестве прямого параметра без перенаправления.