Advertisement
mosmondor

XmlIme renamer

Aug 11th, 2013
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.75 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.IO;
  5. using System.Xml;
  6.  
  7. namespace XmlImeParserRenamer
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             string targetFolder = args[1];
  14.             if (!Directory.Exists(targetFolder))
  15.             {
  16.                 Directory.CreateDirectory(targetFolder);
  17.             }
  18.             string[] files = Directory.GetFiles(args[0], "*.ime.xml", SearchOption.AllDirectories);
  19.             foreach (string file in files)
  20.             {
  21.                 try
  22.                 {
  23.                     string title, performer, album, year;
  24.                     XmlDocument d = new XmlDocument();
  25.                     d.Load(file);
  26.                     title = d.ChildNodes[1]["Title"].InnerText;
  27.                     performer = d.ChildNodes[1]["Author"].InnerText;
  28.                     album = d.ChildNodes[1]["Album"]["Title"].InnerText;
  29.                     year = d.ChildNodes[1]["Year"].InnerText;
  30.                     //  Uploaded OneRepublic - Counting Stars - Single (2013).mp3
  31.                     string targetName = string.Format("{0} - {1} - {2} ({3}).mp3", performer, title, album, year);
  32.                     string toCopy = Path.Combine(Path.GetDirectoryName(file), Path.GetFileName(file.Replace(".ime.xml", ".mp3")));
  33.                     Console.WriteLine(string.Format("{0} -> {1}", toCopy, Path.Combine(targetFolder, targetName)));
  34.                     File.Copy(toCopy, Path.Combine(targetFolder, targetName));
  35.                 }
  36.                 catch (Exception ex)
  37.                 {
  38.                     File.AppendAllText("log.txt", string.Format("problem {0} with {1}\r\n", ex.Message, file));
  39.                 }
  40.             }
  41.         }
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement