ただの
using System; using System.Collections.Generic; using System.IO; using System.Text.RegularExpressions; namespace make_playlist { class MainClass { public static void Main(string[] args) { List<String> s = new List<String>(); DirectoryInfo dir = new DirectoryInfo("."); foreach(FileInfo f in dir.GetFiles()){ if(Regex.IsMatch(f.Name,".mp4$", RegexOptions.IgnoreCase) || Regex.IsMatch(f.Name,".flv$", RegexOptions.IgnoreCase)){ s.Add(f.Name); } } Console.WriteLine("[playlist]\nNumberOfEntries={0}",s.Count); int i = 0; foreach(String x in s){ i++; Console.WriteLine("File{0}={1}",i,x); } } } }
……ちなみに同じものをrubyで書くと以下のようになる。実用はやはりこっちかね。
#!/usr/bin/ruby s=[] Dir.open(".").each {|f| if f =~ /\.(txt|mp4)$/i s[s.length] = f.clone end } print "[playlist]\nNumberOfEntries=#{s.length}\n" for i in 0..s.length-1 print "File"+(i+1).to_s+"="+s[i]+"\n" end
Perlなら、こうかな。シンプル…… :D
#!/usr/bin/perl opendir(DIR, ".") or die; foreach(sort readdir(DIR)){$s[@s]=$_ if(/\.(flv|mp4)$/i);} closedir(DIR); print "[playlist]\nNumberOfEntries=".@s."\n"; $i=0; foreach(@s){$i++;print "File".$i."=".$_."\n";}
まぁ、サンプルってことで^^;