Hallo zusammen,
ich habe bereits im Forum Allgemeine Java-Themen einen Thread: http://www.java-forum.org/allgemeine-java-themen/158475-mp3-dateien-bearbeiten-speichern.html
Da ich jedoch unbedingt schnell zum Zeil kommen wollte, habe ich mich mal eine andere Sprache (C#) ausprobiert. Das Bearbeiten und Speichern hat geklappt, allerdings hat sich der FolderBrowserDialog nur beim Ausführen in meiner Entwicklungsumgebung (MS Visual Studio Ultimate 2013) geöffnet und nicht beim Doppelklick auf die im Projektordner erstellte .exe Datei.
Da ich neu bei C# bin denke ich dass es wohl ein Anfängerproblem sein wird und recht schnell gelöst sein wird. Danke im Vorraus!
ich habe bereits im Forum Allgemeine Java-Themen einen Thread: http://www.java-forum.org/allgemeine-java-themen/158475-mp3-dateien-bearbeiten-speichern.html
Da ich jedoch unbedingt schnell zum Zeil kommen wollte, habe ich mich mal eine andere Sprache (C#) ausprobiert. Das Bearbeiten und Speichern hat geklappt, allerdings hat sich der FolderBrowserDialog nur beim Ausführen in meiner Entwicklungsumgebung (MS Visual Studio Ultimate 2013) geöffnet und nicht beim Doppelklick auf die im Projektordner erstellte .exe Datei.
Da ich neu bei C# bin denke ich dass es wohl ein Anfängerproblem sein wird und recht schnell gelöst sein wird. Danke im Vorraus!
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;
using System.Drawing;
using System.Runtime.InteropServices;
namespace Mp3_Editor
{
class Application
{
//[DllImport("kernel32.dll")]
//static extern IntPtr GetConsoleWindow();
//[DllImport("user32.dll")]
//static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
//const int SW_HIDE = 0;
//const int SW_SHOW = 5;
[STAThread]
static void Main(string[] args)
{
//var handle = GetConsoleWindow();
//ShowWindow(handle, SW_HIDE);
new Application();
}
public Application()
{
try
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Music";
DialogResult result = fbd.ShowDialog();
DirectoryInfo di = new DirectoryInfo(fbd.SelectedPath);
FileInfo[] logFiles = di.GetFiles();
DateCompareFileInfo dateCompareFileInfo = new DateCompareFileInfo();
Array.Sort(logFiles, dateCompareFileInfo);
for (int i = 0; i < logFiles.Length; i++)
{
TagLib.File fileMp3 = TagLib.File.Create(logFiles[i].FullName);
int n = i + 1;
fileMp3.Tag.Track = (uint)n;
fileMp3.Save();
string number;
if (n < 10)
number = "0" + n;
else
number = "" + n;
File.Move(logFiles[i].FullName, logFiles[i].DirectoryName + "\\" + number + " - " + logFiles[i].Name);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
}
}
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Mp3_Editor
{
class DateCompareFileInfo : IComparer<FileInfo>
{
/// <summary>
/// Compare the last dates of the File infos
/// </summary>
/// <param name="fi1">First FileInfo to check</param>
/// <param name="fi2">Second FileInfo to check</param>
/// <returns></returns>
public int Compare(FileInfo fi1, FileInfo fi2)
{
int result;
if (fi2.LastWriteTime == fi1.LastWriteTime)
{
result = 0;
}
else if (fi2.LastWriteTime < fi1.LastWriteTime)
{
result = 1;
}
else
{
result = -1;
}
return result;
}
}
}