Batch file 如何创建日志文件?
如何使用此代码保存所有已删除文件的log.txt文件 此外,我需要更改代码以搜索根目录子文件夹中的所有备份文件夹Batch file 如何创建日志文件?,batch-file,cmd,Batch File,Cmd,如何使用此代码保存所有已删除文件的log.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 (
@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
这段代码是由编写的,并作为答案发布在他的网站上。他还发布了一个增强版,记录了删除前的文件,但它对我来说并不正常
我尝试使用下面的命令>>但未生成log.txt文件。问题中未显示尝试使用
>
。比如说:
@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
再次非常感谢。这个代码是正确的,它的工作也和外交部的代码一样。不同的是,这段代码更符合我的需要,我做了一些组合。我做了错误的代码从mofi因为我测试了空文件夹,并没有得到任何结果。我需要重新配置以显示任何已删除的文件夹。谢谢大家,你们帮了我很多。@sn00p好吧,如果你要求记录被删除的文件,那么你不应该真的想知道为什么我写了批处理代码,以便在下一个命令行将被删除的文件记录到日志文件中。我甚至将日志文件命名为
DeletedFiles.log
。如果您要求记录正在删除的目录/文件夹(仅记录已删除的文件夹或所有文件夹),我会编写代码来记录已删除的文件夹。对于未来,要小心你的要求。