Batch file 检查cmd中zip文件夹中是否存在文件列表

Batch file 检查cmd中zip文件夹中是否存在文件列表,batch-file,for-loop,cmd,zip,exists,Batch File,For Loop,Cmd,Zip,Exists,我对编码很陌生。。我创建了一个通过文本文件vollstaendigkeit.txt的命令,该文件包含一个文件名列表(在本例中为图片),例如 gruwo_1_1_frau.jpg gruwo_1_1_hallo.jpg gruwo_1_1_heissen.jpg 并检查它们是否存在于同一文件夹中,如果不存在,则将它们注册到另一个名为missingfiles.txt的文件中 如果所有文件都在同一目录中且未压缩,则可以使用以下代码: FOR /F %%f IN (vollstaendigkeit.t

我对编码很陌生。。我创建了一个通过文本文件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 ))
但它不起作用。。。有人能帮忙吗?我想避免拉开拉链,但如果不可能,我也不会介意

提前多谢!! 最好的,
rebwal

我不清楚您使用的是哪种存档工具。下面的代码用于归档
vollstaendigkeit.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
    )
)

我不清楚您使用的是哪种存档工具。下面的代码用于归档
vollstaendigkeit.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
    )
)

您可以修改Wscript解压脚本(),只需省略
namespaceobj.CopyHere
指令即可跳过提取过程,否则只需添加盐即可。将
cscript
的输出重定向到您想要的任何日志文件中,并使用
WSH.Echo
WSH.StdOut.WriteLine
来控制进入日志的输出。如果您使用第三方zip程序会更容易谢谢您的快速回答!我将查看script@rojo。您可以修改Wscript解压脚本(),只需省略
namespaceobj.CopyHere
指令以跳过提取,或者根据口味添加盐。将
cscript
的输出重定向到您想要的任何日志文件中,并使用
WSH.Echo
WSH.StdOut.WriteLine
来控制进入日志的输出。如果您使用第三方zip程序会更容易谢谢您的快速回答!我会看一下脚本@rojo.Hi lit,谢谢你的回答!这个社区的支持令人印象深刻!我主要使用WinRar,但也安装了7-Zip。我尝试了你的代码,它没有检查gruwo_pictures.zip中的压缩文件,而是检查同一目录中的文件(解压缩)。它也没有拉上拉链。你知道我做错了什么吗?我想我不完全理解你的要求。你如何“检查它们是否完整?”好的,让我澄清一下。。我在excel中有一个单词列表(词汇表),其中包含大约2000个词汇项。我有相应的媒体文件=每个条目的图片和声音文件。现在,我想做的是用相应的压缩媒体文件反检查(excel)媒体列表,因为在过去,有时,我会在excel中更改图片的名称,但没有对文件执行相同的操作,因此在我将所有内容上传到词汇培训师软件中后,都无法找到这些图片。我之所以想用ZIP文件而不是驱动器上的媒体文件夹来反检查整个内容,是因为文件被定位并与Google Drive同步,我有时会出现同步问题,以至于过去随机媒体文件丢失。使用ZIP文件夹,可以消除这种风险。此答案创建.ZIP存档,然后将文件列表条目与.txt文件进行比较。是否要将.zip存档文件中的文件名与.txt文件进行比较?如果是这样,您能在安装了命令行扩展的情况下使用命令行工具(如7-Zip或WinZIP)吗?您好,谢谢您的回答!这个社区的支持令人印象深刻!我主要使用WinRar,但也安装了7-Zip。我尝试了你的代码,它没有检查gruwo_pictures.zip中的压缩文件,而是检查同一目录中的文件(解压缩)。它也没有拉上拉链。你知道我做错了什么吗?我想我不完全理解你的要求。你如何“检查它们是否完整?”好的,让我澄清一下。。我在excel中有一个单词列表(词汇表),其中包含大约2000个词汇项。我有相应的媒体文件=每个条目的图片和声音文件。现在,我想做的是用相应的压缩媒体文件反检查(excel)媒体列表,因为在过去,有时,我会在excel中更改图片的名称,但没有对文件执行相同的操作,因此在我将所有内容上传到词汇培训师软件中后,都无法找到这些图片。我之所以想用ZIP文件而不是驱动器上的媒体文件夹来反检查整个内容,是因为文件被定位并与Google Drive同步,我有时会出现同步问题,以至于过去随机媒体文件丢失。使用ZIP文件夹,可以消除这种风险。此答案创建.ZIP存档,然后将文件列表条目与.txt文件进行比较。是否要将.zip存档文件中的文件名与.txt文件进行比较?如果是这样,您可以在安装了命令行扩展的情况下使用命令行工具(如7-Zip或WinZIP)吗?