我正在编写一个批处理文件,我将使用该文件来比较两个目录的内容,对于一个目录中但不在另一个目录中的每个文件,我将发送一封电子邮件。我正在使用一个名为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%"
我想回显文件列表,每行一个。谢谢。
根据您的问题和所做的修改,我不确定我是否完全了解您的要求。我的评论是提出以下建议:
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