使用所有文件名的列表,如果文件夹中不包含文件名,则输出丢失的文件的名称(批处理脚本)

使用所有文件名的列表,如果文件夹中不包含文件名,则输出丢失的文件的名称(批处理脚本)

我想要:

  1. 比较从C:\folder\filelist.txt到 的文件名C:\folder\filenames

  2. 输出缺失文件的名称到C:\folder\filenamesMissing.txt。

代码:

@echo off
for /f "tokens=*" %%i in (C:\folder\filelist.txt) DO (
IF EXIST %%i (echo %%i>>C:\folder\filenames) 
ELSE echo %%i>>C:\folder\Missing.txt

我的 Missing.txt 输出列出了 filelist.txt 中包含的所有文件名,而不是仅列出其中缺少的文件名C:\folder\filenames

答案1

如果您的目标只是识别丢失的文件,则请使用 NOT 和 EXIST。

for /f "tokens=*" %%i in (C:\folder\filelist.txt) DO (
  IF NOT EXIST "c:\folder\%%~i" (echo.Missing "%%~i">>C:\folder\missing.txt)
)

相关内容