如何使用命令提示符检查ZIP文件夹中是否存在文件?

时间:2013-07-06 21:12:02

标签: cmd zip

我想在尝试提取之前检查ZIP文件夹中是否存在main.lua。另外,我在命令提示符下使用7-zip进行存档。我有类似的东西,但我想知道它是否可以简化:

if exist "%temp\main.lua" (
del "%temp\main.lua"
)
7z e "(ZIP Folder)" "-o%temp%"
if exist "%temp\main.lua" (
rem main.lua is present in the ZIP folder.
) else (
rem main.lua is NOT present in the ZIP folder.
)

我实际上更喜欢VBScript,因为不是每个人都有7-zip。

1 个答案:

答案 0 :(得分:1)

为什么不使用list命令(l)来查看文件是否存在,而不是解压缩zip。所以你可以这样做:

set mainfound=0
7z l zipname.zip | findstr /r /c:" main.lua$" >nul && set mainfound=1

然后,您可以测试%mainfound%的值,以确定是否找到 main.lua

我正在使用正则表达式搜索来确保文件名前面有一个空格,并且它在行的末尾结束(正则表达式中的$)。这样我们就不会从部分匹配中得到误报。