如何创建日志文件?

时间:2017-11-21 09:14:22

标签: batch-file cmd

如何使用此代码保存所有已删除文件的日志.txt文件?

此外,我需要更改代码以搜索根目录子文件夹中的所有备份文件夹。

@echo off
setlocal EnableExtensions EnableDelayedExpansion
set "BackupFolder=D:\backup"
set "LastDate="
for /F "delims=." %%I in ('dir "%BackupFolder%\????????.*" /AD /B /ON 2^>nul') do (
    if not "!LastDate!" == "%%I" (
        for /F "skip=2 delims=" %%D in ('dir "%BackupFolder%\%%I.*" /AD /B /O-D-N /TC') do rd /Q /S "%BackupFolder%\%%D"
        set "LastDate=%%I"
    )
)
endlocal

此代码由here编写,并在Mofi上作为答案发布。他还发布了一个在删除前记录文件的增强版本,但它无法正常使用。

我尝试使用以下命令>>但是还没有生成log.txt文件。

1 个答案:

答案 0 :(得分:1)

问题中没有显示使用>>的尝试。怎么样:

@echo off
setlocal EnableExtensions EnableDelayedExpansion
set "BackupFolder=D:\backup"
set "LastDate="
SET "LOGFILE=%TEMP%\%~n0.log"
for /F "delims=." %%I in ('dir "%BackupFolder%\????????.*" /AD /B /ON 2^>nul') do (
    if not "!LastDate!" == "%%I" (
        for /F "skip=2 delims=" %%D in ('dir "%BackupFolder%\%%I.*" /AD /B /O-D-N /TC') do (
            DIR /S /B "%BackupFolder%\%%D" >>"%LOGFILE%"
            rd /Q /S "%BackupFolder%\%%D"
            set "LastDate=%%I"
        )
    )
)
endlocal