按照技术配方的示例,我成功列出了 ZIP 文件的内容(使用 7-Zip:
FOR /F "tokens=* delims=" %%A in ('dir /b /s *.zip') do (7z.exe l -r "%%A" >> listing.txt)
但是,这只是将 ZIP 文件的整个目录结构转储到文本文件(称为listing.txt)中。
我只想列出最高级别目录的目录名称,例如
示例.Zip
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Listing archive: C:\Users\Test\Desktop\7zip\Demo.zip
--
Path = C:\Users\Test\Desktop\7zip\Demo.zip
Type = zip
Physical Size = 1252
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2013-04-24 13:12:26 D.... 0 0 Directory Three\Sub Folder One
2013-04-24 13:13:00 D.... 0 0 Directory Three\Sub Folder Three
2013-04-24 13:12:54 D.... 0 0 Directory Three\Sub Folder Two
2013-04-24 13:12:26 D.... 0 0 Directory Two\Sub Folder One
2013-04-24 13:13:00 D.... 0 0 Directory Two\Sub Folder Three
2013-04-24 13:12:54 D.... 0 0 Directory Two\Sub Folder Two
2013-04-24 13:12:26 D.... 0 0 Directory One\Sub Folder One
2013-04-24 13:13:00 D.... 0 0 Directory One\Sub Folder Three
2013-04-24 13:12:54 D.... 0 0 Directory One\Sub Folder Two
------------------- ----- ------------ ------------ ------------------------
0 0 0 files, 9 folders
我只希望文本文件包含:
谁能建议我如何实现这一目标?
7z 似乎没有内置键,但是您可以执行一些批处理脚本(此脚本在文件名中搜索斜杠,如果找不到斜杠则显示行):
7z.exe l -r archive.zip > lines.txt
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%a in (lines.txt) do (
set line=%%a
set srch=!line:\=!
if "!line!" == "!srch!" (
echo !line!
)
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)