增加了异常处理和日志记录功能。
parent
011b9fd749
commit
696e8344a8
|
@ -0,0 +1,31 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace WechatMediaRenamer
|
||||
{
|
||||
public class Logger
|
||||
{
|
||||
internal static void LogString(string input)
|
||||
{
|
||||
string logPath = AppDomain.CurrentDomain.BaseDirectory + "logfile.txt"; // 日志文件路径,以应用程序所在目录为基础
|
||||
|
||||
try
|
||||
{
|
||||
using (StreamWriter writer = new StreamWriter(logPath, true))
|
||||
{
|
||||
writer.WriteLine(DateTime.Now.ToString() + ": " + input); // 写入当前时间和输入参数到日志文件
|
||||
}
|
||||
|
||||
Console.WriteLine("日志已写入文件: " + logPath);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("写入日志时出现错误: " + ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -76,34 +76,41 @@ namespace WechatMediaRenamer
|
|||
private DateTime? GetShotDate()
|
||||
{
|
||||
DateTime? shotDate = null;
|
||||
IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(FullFilePath);
|
||||
Print(directories);
|
||||
foreach (var directory in directories)
|
||||
try
|
||||
{
|
||||
if (directory is ExifSubIfdDirectory)
|
||||
IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(FullFilePath);
|
||||
Print(directories);
|
||||
foreach (var directory in directories)
|
||||
{
|
||||
var subIfdDirectory = directory as ExifSubIfdDirectory;
|
||||
if (subIfdDirectory.ContainsTag(ExifDirectoryBase.TagDateTimeOriginal))
|
||||
if (directory is ExifSubIfdDirectory)
|
||||
{
|
||||
shotDate = subIfdDirectory.GetDateTime(ExifDirectoryBase.TagDateTimeOriginal);
|
||||
break; // Exit the loop since we found the shot date
|
||||
var subIfdDirectory = directory as ExifSubIfdDirectory;
|
||||
if (subIfdDirectory.ContainsTag(ExifDirectoryBase.TagDateTimeOriginal))
|
||||
{
|
||||
shotDate = subIfdDirectory.GetDateTime(ExifDirectoryBase.TagDateTimeOriginal);
|
||||
break; // Exit the loop since we found the shot date
|
||||
}
|
||||
if (subIfdDirectory.ContainsTag(ExifDirectoryBase.TagDateTimeDigitized))
|
||||
{
|
||||
shotDate = subIfdDirectory.GetDateTime(ExifDirectoryBase.TagDateTime);
|
||||
break; // Exit the loop since we found the shot date
|
||||
}
|
||||
}
|
||||
if (subIfdDirectory.ContainsTag(ExifDirectoryBase.TagDateTimeDigitized))
|
||||
if (directory is QuickTimeMovieHeaderDirectory)
|
||||
{
|
||||
shotDate = subIfdDirectory.GetDateTime(ExifDirectoryBase.TagDateTime);
|
||||
break; // Exit the loop since we found the shot date
|
||||
}
|
||||
}
|
||||
if (directory is QuickTimeMovieHeaderDirectory)
|
||||
{
|
||||
var subDirectory = directory as QuickTimeMovieHeaderDirectory;
|
||||
if (subDirectory.ContainsTag(QuickTimeMovieHeaderDirectory.TagCreated))
|
||||
{
|
||||
shotDate = subDirectory.GetDateTime(QuickTimeMovieHeaderDirectory.TagCreated);
|
||||
break;
|
||||
var subDirectory = directory as QuickTimeMovieHeaderDirectory;
|
||||
if (subDirectory.ContainsTag(QuickTimeMovieHeaderDirectory.TagCreated))
|
||||
{
|
||||
shotDate = subDirectory.GetDateTime(QuickTimeMovieHeaderDirectory.TagCreated);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogString(ex.Message);
|
||||
}
|
||||
return shotDate;
|
||||
}
|
||||
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
<DependentUpon>App.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Logger.cs" />
|
||||
<Compile Include="MediaFileRenamer.cs" />
|
||||
<Compile Include="MainWindow.xaml.cs">
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
|
|
Loading…
Reference in New Issue