是否有办法根据文件名使用type
命令连接多个日志.txt文件?
例如,如果文件以System。[Timestamp]。*开头,那么我希望将所有以System开头的文件中的内容合并到一个主文件中,如果文件以其他内容开头,那么内容应该附加到另一个主日志文件。这可以通过命令行或使用批处理文件吗?
我想到了一些事情,但我不知道如何处理这个并检查文件名:
for %x in (*.txt) do ( //loop through whole directory
//here i think there should be a check if a file starts System.*
//and if so then type fileName.txt > SystemMasterLog.txt
)
感谢您的时间。
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
FOR %%a IN (*.txt) DO (
ECHO %%~na|FINDSTR /b /i /L /c:"System." >NUL
IF ERRORLEVEL 1 (TYPE "%%a">>OtherLog.log) ELSE (TYPE "%%a">>SystemMasterLog.log)
)
GOTO :EOF
这应该可以解决您的问题。请注意,输出文件的扩展名为.log
,以确保它们与正在处理的.txt
文件分开。此外,假定与模式system.*.txt
匹配的任何文件都定向到SystemMasterLog.log。
答案 1 :(得分:0)
当您提到文件名开头和文件开头时,您的问题可以采用几种方式。
这将为您提供名称以System
@echo off
for %%a in (system*.txt) do type "%%a" >>"file.tmp"
ren "file.tmp" SystemMasterLog.txt"