1

我想在尝试提取之前检查 main.lua 是否存在于 ZIP 文件夹中。另外,我在命令提示符下使用 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。

4

1 回答 1

1

为什么不直接使用 list 命令 (l) 来查看文件是否存在,而不是提取 zip。所以你可以做这样的事情:

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

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

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

于 2013-07-06T21:23:24.287 回答