批处理文件-比较目录并创建非重复文件列表

问题描述 投票:0回答:1

我正在编写一个批处理文件,我将使用该文件来比较两个目录的内容,对于一个目录中但不在另一个目录中的每个文件,我将发送一封电子邮件。我正在使用一个名为WatchDirectory的小程序来帮助解决此问题,并在.bat文件中设置了以下程序,以用于发送电子邮件。出于完整性考虑,将其包括在内,但我的问题随后出现。

set EMAILFILE="c:\ProgramData\watchDirectory\System.Mail\Out\emailfile.txt"
echo ATTENTION: Files from DMZ not processed by AMS > "%EMAILFILE%"
echo Wally Williams^<[email protected]^> >> "%EMAILFILE%"

rem !!!!!   important line !!!!!
echo list of files not processed goes here.... >> "%EMAILFILE%"

rem WatchDirectory will automatically send out emails for files with wdmail extension
ren "%EMAILFILE%" DMZAMS_%RANDOM%_%RANDOM%.wdmail

我的问题:目前,我仅按如下所示检查两个目录

for %%i in ("\\sc0189v\d$\APPS\ACH_CANADA\Archive\RECV\201811\*") do if not exist "folder1\%%~nxi" echo %%i File not processed by AMS > results.txt

并使用名称创建文件。

编辑:当前,我对包含文件名的result.txt文件不做任何事情。我想将这些名称插入%% EMAILFILE %%中。我想将它们放在上面的电子邮件中,而不是在行中

echo list of files not processed goes here.... >> "%EMAILFILE%"

我想回显文件列表,每行一个。谢谢。

windows batch-file
1个回答
0
投票

根据您的问题和所做的修改,我不确定我是否完全了解您的要求。我的评论是提出以下建议:

set EMAILFILE="c:\ProgramData\watchDirectory\System.Mail\Out\emailfile.txt"
echo ATTENTION: Files from DMZ not processed by AMS > "%EMAILFILE%"
echo Wally Williams^<[email protected]^> >> "%EMAILFILE%"

rem !!!!!   important line !!!!!
for %%i in ("\\sc0189v\d$\APPS\ACH_CANADA\Archive\RECV\201811\*") do if not exist "folder1\%%~nxi" echo %%i>>"%EMAILFILE%"

rem WatchDirectory will automatically send out emails for files with wdmail extension
ren "%EMAILFILE%" DMZAMS_%RANDOM%_%RANDOM%.wdmail
© www.soinside.com 2019 - 2024. All rights reserved.