我使用的是 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)
| 归档时间: |
|
| 查看次数: |
21102 次 |
| 最近记录: |