我想在尝试提取之前检查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。
答案 0 :(得分:1)
为什么不使用list命令(l)来查看文件是否存在,而不是解压缩zip。所以你可以这样做:
set mainfound=0
7z l zipname.zip | findstr /r /c:" main.lua$" >nul && set mainfound=1
然后,您可以测试%mainfound%
的值,以确定是否找到 main.lua 。
我正在使用正则表达式搜索来确保文件名前面有一个空格,并且它在行的末尾结束(正则表达式中的$
)。这样我们就不会从部分匹配中得到误报。