0

我有一个正在运行的程序,可以批量处理一堆文档并将它们放在 DMS 中。程序完成处理每个文档后,会将其放置在另一个文件夹中。然后可以将其放置在名为successed 的子文件夹或名为failed 的子文件夹中。未成功上传到 DMS 的文档放在 failed 子文件夹中。这个过程每天都在重复,因此每天都会创建两个新文件夹,分别命名为“importresults_%datetime\succeeded”和“importresults_%datetime\failed”。

我想创建另一个批处理文件,每天检查新创建的子文件夹“importresults_%datetime\failed”的内容。对于其中的每个文档,我希望批处理文件记录它。

我已经尝试过类似的方法来检查某个文件夹中是否存在文件,但这不起作用。

CheckFileExist.bat >> C:\CFE_log.txt

for /f %%i in C:\Dfolder do (

IF not EXIST echo %%i >> C:\CFE_log.txt
pause

这似乎继续在日志文件中循环。

4

2 回答 2

0

我想创建另一个批处理文件,每天检查新创建的子文件夹"importresults_%datetime\failed"的内容。对于其中的每个文档,我希望批处理文件记录它。

for /f "delims=" %%A in ('dir "C:\Dfolder" /a-d /b') do (
   echo %%A>>C:\CFE_log.txt
)
pause

只需将“C:\Dfolder”更改为您要列出的任何目录。

什么?

这条线的目的是什么CheckFileExist.bat >> C:\CFE_log.txt

于 2013-05-08T13:51:31.207 回答
0

如果您从主文件夹运行它,如果文件夹按名称排序,它将选择最新的文件夹,然后创建文件列表(在名为 的文件中name of folder - failed files.txt)并将其放在启动此批处理文件的同一文件夹中。

@echo off
for /f "delims=" %%a in ('dir /ad /b /s ^|find /i "failed" ^|sort') do (
echo found "%%a"
set "folder=%%a"
set "name="%%~nxa"
)
echo setting variable to "%folder%"
echo getting list of failed files into "%name% - failed files.txt"
dir "%folder%" /b /a-d >"%name% - failed files.txt"
echo done.
于 2013-05-09T09:35:23.697 回答