13. august 2008 - 10:21Der er
5 kommentarer og 1 løsning
Directory, only select .img .iso osv.
Hej eksperter... har lavet et lille program som skal kunne lave en xls eller txt fil, med alle mine film og lignende i... Problemet er nu at jeg også har mange rar filer osv, sammen med mine film. så jeg vil have min kode til kun at tage .img .iso .avi, og alle de andre film formater...
Det er en windows app form. Og er der en nem måde at lave en brose knap... som fx SHBrowseForFolder(); ... dog kan jeg ikke få den til at virke ordenligt...
Her er koden indtil videre:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;
namespace Movie_Libary { public partial class Form1 : Form { String MovieFolderPath; String LibaryFilePath;
public void button1_Click(object sender, EventArgs e) {
TextWriter tw = new StreamWriter(@LibaryFilePath); DirectoryInfo dir = new DirectoryInfo(@MovieFolderPath); CopyAll(dir, tw); tw.Close(); Console.ReadLine(); }
public static void CopyAll(DirectoryInfo source, TextWriter tw) {
foreach (FileInfo fi in source.GetFiles()) {
tw.WriteLine(fi.Name); }
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) {
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;
namespace Movie_Libary { public partial class Form1 : Form { String MovieFolderPath; String LibaryFilePath;
public void button1_Click(object sender, EventArgs e) {
TextWriter tw = new StreamWriter(@LibaryFilePath); DirectoryInfo dir = new DirectoryInfo(@MovieFolderPath); CopyAll(dir, tw); tw.Close(); Console.ReadLine(); }
public static void CopyAll(DirectoryInfo source, TextWriter tw) {
foreach (FileInfo fi in source.GetFiles()) {
tw.WriteLine(fi.Name); }
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) {
CopyAll(diSourceSubDir, tw); } }
public void button2_Click(object sender, EventArgs e) { DialogResult result = folderBrowserDialog1.ShowDialog(); if (result == DialogResult.OK) textBox1.Text = folderBrowserDialog1.SelectedPath; }
Du kan checke på fi.Extension i din CopyAll metode, og kun køre tw.WriteLine(fi.Name) hvis din extension matcher dem du ønsker. Lav evt. en List<string> med dine extensions i.
Eller: case ".avi": case ".mov": case ".mpeg": case ".iso": case ".img": case ".wmw": tw.WriteLine(fi.Name); break;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.