我正在尝试编写一个简单的批处理脚本来重命名,移动和存储程序的崩溃日志文件。日志文件使用日期戳和时间戳命名,因此最终结果是包含许多具有不同日期/时间戳的日志文件的文件夹。我想在列表中列出该文件夹的内容。我能够做到以下几点:
$(window).load(changeWidth());
$(window).resize(function() {
changeWidth();
alert('hola');
});
问题在于,每次创建新日志文件时,它都会列出文件夹中的文件。例如,我在文件夹中有以下日志文件:
dir /b >> list.txt
并且在程序崩溃后创建了一个新的日志文件log1
log2
log3
,当脚本运行时,列表显示以下内容:
log4
有没有办法只将新的日志文件附加到我的列表中?
答案 0 :(得分:4)
您使用双>>进行追加但你可以简单地使用一个>覆盖文件。如果您没有尝试排除结果列表中的任何文件,这可能是最简单的方法。
答案 1 :(得分:1)
我同意@Daniel和@Eric的说法,我无法想到一个场景,你不能只使用>覆盖所有现有日志的list.txt;重定向......
如果由于某种原因你需要,你可以这样做:
@echo off
if not exist list.txt type nul>list.txt
for /f "tokens=*" %%a in ('dir /b') do call :findDuplicate "%%a"
goto:eof
:findDuplicate
type list.txt | find %1>nul
if %ERRORLEVEL% EQU 0 (
:: file already in list.txt, so don't append
goto:eof
) else (
:: file wasn't found, append to list.txt
echo %~1 >> list.txt
)
goto:eof