CleanUp.exe
This is going to be boring for those of my loyal readers who don't happen to be software developers. Sorry.
while( inputFiles.Items.Count > 0 ) {
string file1 = inputFiles.Items[ 0 ].Text;
string extension = Path.GetExtension( file1 );
inputFiles.Items[ 0 ].Remove();
using( BinaryReader brA = new BinaryReader( new FileStream( file1, FileMode.Open, FileAccess.Read, FileShare.Read ) ) ) {
foreach( ListViewItem item2 in inputFiles.Items ) {
bool identical = true;
string file2 = item2.Text;
if( !file2.EndsWith( extension ) )
continue;
using( BinaryReader brB = new BinaryReader( new FileStream( file2, FileMode.Open, FileAccess.Read, FileShare.Read ) ) ) {
if( brA.BaseStream.Length != brB.BaseStream.Length )
continue;
brA.BaseStream.Seek( 0, 0 );
for( int i = 0; i < brA.BaseStream.Length; i++ )
if( brA.ReadByte() != brB.ReadByte() ) {
identical = false;
break;
}
}
if( identical ) {
ListViewItem result = new ListViewItem( file1 );
result.SubItems.Add( file2 );
lstResult.Items.Add( result );
break;
}
}
}
progressBar.Value++;
}
Cool, eh?

No comments:
Post a Comment