批处理文件输出

时间:2015-09-23 12:54:05

标签: batch-file

我有一个批处理文件,它通过文本文件读取文档位置,然后将物理文件复制到本地文件夹。我需要包括的是如果物理文件不存在我需要将文档详细信息从文本文件输出到另一个文件,所以我有一个缺少文档的列表。我希望这是有道理的。

这是我的批处理文件内容

SET destfolder=e:\data
FOR /F "delims=" %%a IN (e:\cn_documents.csv) DO COPY "%%a" "%destfolder%\%%~nxa"

1 个答案:

答案 0 :(得分:0)

听起来你需要的只是在复制前检查文件是否存在。这可以通过IF EXIST条件来完成。

SET destfolder=e:\data
SET DoesNotExistList="E:\DoesNotExist.txt"

REM Reset the not exist list so it doesn't pile up from multiple runs.
ECHO The following files were not found > %DoesNotExistList%

FOR /F "delims=" %%a IN (e:\cn_documents.csv) DO (
    REM Check if the file exists.
    IF EXIST "%%a" (
        REM It does exist, copy to the destination.
        COPY "%%a" "%destfolder%\%%~nxa"
    ) ELSE (
        REM It does not exist, note the file name.
        ECHO %%a>>%DoesNotExistList%
    )
)