7z 仅列出文件名

Cyr*_*Cyr 7 cmd 7zip

我使用的是 7z 版本 18.05,我想仅列出存档内容的文件名。

如果我使用该命令,7z l myArchive.7z我会得到以下输出:

7-Zip 18.05 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2018-04-30

Scanning the drive for archives:
1 file, 146863932 bytes (141 MiB)

Listing archive: myArchive.7z

--
Path = myArchive.7z
Type = 7z
Physical Size = 146863932
Headers Size = 393
Method = LZMA:26
Solid = +
Blocks = 1

Date       Time     Attr          Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2017-12-06 08:55:47 D...A            0            0  myArchive
2017-12-06 08:55:42 D...A            0            0  myArchive\folder
2017-12-05 19:50:41 ....A     21816530    146863539  myArchive\folder\Test.dat
2017-12-06 08:55:42 ....A     21877463               myArchive\folder\Test2.dat
2017-12-05 19:51:05 ....A       153953               myArchive\folder\Test3.dat
2017-12-05 19:50:41 ....A         4193               myArchive\folder\Test4.dat
2017-12-06 08:55:47 ....A     24128956               myArchive\log.txt
2017-12-06 08:55:47 ....A        79980               myArchive\readme.txt
2017-12-05 19:51:05 ....A   3256759999               myArchive\folder\zTest.txt
------------------- ----- ------------ ------------  ------------------------
2017-12-06 08:55:47         3324821074    146863539  7 files, 2 folders
Run Code Online (Sandbox Code Playgroud)

我不知道为什么 7z 没有只列出文件名的开关。如何只获取“名称”列?有什么建议用dos命令吗?

Nis*_*sen 19

在不同的线程中找到了这个答案: https://superuser.com/a/1073272/542975

有一个未记录的开关-ba,它删除所有标题和表格格式,并仅列出行条目。

从那里,您可以解析每一行并用空格或制表符分割它,或者可能使用正则表达式。


lit*_*lit -1

如果您可以在计算机上安装 PowerShell 模块,那么列出文件名就足够简单了。这可以在任何受支持的现代 Windows 系统上完成。

https://www.powershellgallery.com/packages/7Zip4Powershell/1.9.0描述了如何安装该模块。

这是一个显示其用法和输出的 .bat 文件脚本。

C:>TYPE zipfnlist.bat
@ECHO OFF
SET "ZIP_FILENAME=.\7zIntf20.zip"
powershell -NoLogo -NoProfile -Command (Get-7Zip -ArchiveFileName "%ZIP_FILENAME%").FileName

C:>CALL zipfnlist.bat
bin
Properties
Ole32.cs
Program.cs
SevenZipFormat.cs
SevenZipInterface.cs
SevenZip.csproj
SevenZip.sln
bin\Debug
bin\Release
bin\Release\SevenZip.exe
Properties\AssemblyInfo.cs
Run Code Online (Sandbox Code Playgroud)