Bu tür bir soruna bir yanıt bulmak için internette herhangi bir yer bulamıyorum, bu yüzden kendime de sorabileceğimi düşündüm. Daha sonra aynı dosya iki kez olup olmadığını görmek için daha sonra seçilen dosya dizinini ve tüm alt klasörleri arar bir işlevi çalıştıracak bir düğmeye basmak gerekir. Aşağıda gerekli tüm kod koyacağız:Çoğaltmalar bir <a0></ a0> düğmesiyle bir liste kutusunda nasıl görüntüleyebilirim? #
public partial class fileForm : Form
{
private string _filelistlocation;
private string _fileDest;
private string _fileSource;
public fileForm()
{
InitializeComponent();
}
public void fileForm_Load(object sender, System.EventArgs e)
{
_filelistlocation = textBox1.Text;
_fileDest = labelDestRoot.Text;
_fileSource = labelSourceRoot.Text;
}
private void button1_Click(object sender, System.EventArgs e)
{
checkedListBox1.Items.Clear();
listBox2.Items.Clear();
ReadFromList();
}
private void GetDuplicates()
{
DirectoryInfo directoryToCheck = new DirectoryInfo(@"C:\temp\Location Source");`
FileInfo[] files = directoryToCheck.GetFiles("*.*", SearchOption.AllDirectories);
var duplicates = files.GroupBy(x => x.Name)
.Where(group => group.Count() > 1)
.Select(group => group.Key);//display duplicates
if (duplicates.Count() > 0)
{
MessageBox.Show("No Dupes");
FileStream s2 = new FileStream(_filelistlocation, FileMode.Open, FileAccess.Read, FileShare.Read);
}
else
listBox1.Items.Add(duplicates);`
}
private void button5_Click_1(object sender, EventArgs e)
{
GetDuplicates();
}
DÜZENLEME: `özel boşluk GetDuplicates() { DirectoryInfo directoryToCheck = new DirectoryInfo (@ "C: \ temp \ Yer Kaynak");
FileInfo[] files = directoryToCheck.GetFiles("*.*", SearchOption.AllDirectories);
var duplicates = files.GroupBy(x => x.Name)
.Where(group => group.Count() > 1)
.Select(group => group.Key);//display duplicates
if (!duplicates.Any())
{
listBox1.Items.Add(duplicates);
FileStream s2 = new FileStream(_filelistlocation, FileMode.Open, FileAccess.Read, FileShare.Read);
}
else
MessageBox.Show("No Dupes");
}`
bunu beğendiniz mi?
DÜZENLEME 2: herkes yardım edebilirsen
private void GetDuplicates()
{
DirectoryInfo directoryToCheck = new DirectoryInfo(@"C:\temp\Location Source");
FileInfo[] files = directoryToCheck.GetFiles("*.*", SearchOption.AllDirectories);
var duplicates = files.GroupBy(x => x.Name)
.Where(group => group.Count() > 1)
.Select(group => group.Key);//display duplicates
if (!duplicates.Any())
{
listBox1.Items.Add(duplicates.ToArray());
FileStream s2 = new FileStream(_filelistlocation, FileMode.Open, FileAccess.Read, FileShare.Read);
}
else
MessageBox.Show("No Dupes");
}
bu güzel olurdu. Teşekkürler!
Göndermiş koduyla karşı karşıya sorunu nedir? –
Düğmeyi tıklattığımda, "ben dupes yok" diyen mesaj kutusu açılır, oysa ben test ettiğim şeyin çiftleri vardır. –
Mesajı engelliyorsa görüntülüyorsanız, başka bir blok olmalıdır. –