【问题标题】:Check if a list of files exist in a zip-folder in cmd检查 cmd 的 zip 文件夹中是否存在文件列表
【发布时间】:2018-04-21 03:30:59
【问题描述】:

我对编码非常陌生。我创建了一个命令,该命令通过文本文件 vollstaendigkeit.txt 包含文件名列表(在本例中为图片),例如。

gruwo_1_1_frau.jpg

gruwo_1_1_hallo.jpg

gruwo_1_1_heissen.jpg

...

并检查它们是否存在于同一文件夹中,如果不存在,则将它们注册到另一个名为 missingfiles.txt 的文件中。

如果所有文件都在同一个目录中且未压缩,则使用此代码可以正常工作:

FOR /F %%f IN (vollstaendigkeit.txt) DO (IF EXIST %%f (ECHO %%f exists) ELSE (ECHO %%f doesn't exist >> C:\Users\Rebecca\Desktop\test\missingfiles.txt ))

但我想做的是先压缩图片,然后运行 ​​.bat 来检查它们是否完整...

我试过了:

FOR /F %%f IN (vollstaendigkeit.txt) DO gruwo_pictures.zip list -flat yes|find "%%f" && (IF EXIST %%f (ECHO %%f exists) ELSE (ECHO %%f doesn't exist >> C:\Users\Rebecca\Desktop\test\missingfiles.txt ))

但它不起作用......有人可以帮忙吗?我想避免解压缩,但如果不可能,我也不介意。

提前非常感谢! 最好的, 反击

【问题讨论】:

  • 您可以修改 Wscript 解压缩脚本 (example),只需省略 namespaceobj.CopyHere 指令以跳过提取,否则会加盐。将cscript 的输出重定向到您希望的任何日志文件中,并使用WSH.EchoWSH.StdOut.WriteLine 来控制进入日志的输出。
  • 如果您使用第三方压缩程序会更容易
  • 感谢您的快速解答!我会看看脚本@rojo。

标签: batch-file for-loop cmd zip exists


【解决方案1】:

我不清楚您使用的是哪种归档工具。下面的代码使用7-Zipvollstaendigkeit.txt中提到的文件归档,然后将不存在的文件报告到missingfiles.txt中。

SET "FILELIST=vollstaendigkeit.txt"

7z a gruwo_pictures.zip -i @"%FILELIST%"

FOR /F "usebackq tokens=*" %%f IN (`TYPE "%FILELIST%"`) DO (
    IF NOT EXIST "%%~f" (
        ECHO "%%~f" doesn't exist >> C:\Users\Rebecca\Desktop\test\missingfiles.txt
    )
)

【讨论】:

  • 您好,谢谢您的回答!这个社区的支持令人印象深刻!我主要使用 WinRar,但也安装了 7-Zip。我尝试了您的代码,它没有检查 gruwo_pictures.zip 中的压缩文件,而是检查位于同一目录中的文件(解压缩)。它也没有压缩它们。知道我做错了什么吗?
  • 我认为我没有完全理解您的要求。你如何“检查它们是否完整?”
  • 好吧,对不起,让我澄清一下.. 我在 Excel 中有一个 单词列表(词汇表),其中包含大约 2000 个词汇项目。我有 相应的媒体文件 = 每个条目的图片和声音文件。现在,我想做的是用相应的压缩媒体文件反检查(excel)媒体列表,因为在过去,有时会发生我在excel中更改图片的名称但错过了对文件做同样的事情,所以一旦我将所有内容上传到词汇培训软件中就找不到它们。我想用 ZIP 文件而不是
  • 而不是我驱动器上的媒体文件夹是因为所有文件都已定位并与 Google Drive 同步,而且我有时会遇到同步问题,因此过去随机媒体文件丢失了。使用 ZIP 文件夹可以消除这种风险。
  • 此答案创建 .zip 存档,然后将文件列表条目与 .txt 文件进行比较。是否要将 .zip 存档中的文件名与 .txt 文件进行比较?如果是这样,您可以使用安装了命令行扩展的命令行工具(如 7-Zip 或 WinZIP)吗?
猜你喜欢
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-20
  • 2011-11-15
  • 2015-11-06
  • 2012-07-18
相关资源
最近更新 更多