Click here to Skip to main content
12,549,732 members (46,080 online)
Click here to Skip to main content
Add your own
alternative version


7 bookmarked

USB Reset Attribute

, 6 Apr 2014 CPOL
Rate this:
Please Sign up or sign in to vote.
Ultimate USB Reset Attribute with powerful option


What do you do when your Removal Device or USB gets affected by a virus and files are hidden? Most of the Antivirus scan the device and delete the virus only. So we can't see the files in our USB device which is hidden by the virus. So here, the "Ultimate USB Reset Attribute" comes with a powerful option.

Idea Behind the Code

I just embed my code with the existing one which is already available in here (CodeProject). So my first sincere thanks to CodeProject, without this I could not do it.

Using the Code

Using this code, the number of USB or removal devices is listed in a dropdown which is currently connected to a computer.

if(!Directory .Exists (currDir ))
            //set the progress bar max value
            pbar.Maximum += Directory.GetFileSystemEntries(currDir).Count();
            //iterate over the files
            foreach (string ff in Directory.GetFiles(currDir))
            {   //super cast to the parent class FileSystemInfo
                ResetAttribute((new FileInfo(ff)) as FileSystemInfo );
            foreach (string dr in Directory.GetDirectories(currDir))
                if (!Directory.Exists(dr))
                //reset the directory attribute
               ResetAttribute((new DirectoryInfo(dr)) as FileSystemInfo);
                      ScanFiles(dr); //scan the directory  
//Changing the file attributes by using this code.
            { //bitwise operator on the file attribute
                fsi.Attributes &= ~FileAttributes.Hidden;
                fsi.Attributes &= ~FileAttributes.System;

                fsi.Attributes &= ~FileAttributes.ReadOnly;
            pbar.Value += 1;
            catch (Exception ex)
//Whenever the main form is loaded, it checks and gets drive details by using this code.
var drv = from dr in DriveInfo.GetDrives()
                     where dr.IsReady == true && dr.DriveType == DriveType.Removable
                     select dr;
            foreach (DriveInfo dinfo in drv)
                cmbUSB.SelectedIndex = 0;
  DriveInfo dr = new DriveInfo(cmbUSB.SelectedItem.ToString());
    lblusb.Text = dr.VolumeLabel + " (" + dr.Name + ")"; 

Command Line Reseter

Just enter the Drive Letter that you want to reset. Using this code:

set /p letter=
attrib -s -h -a /s /d %letter%:\*.* 

Points of Interest

Hope this version helps you. This is the general idea which I got in my dreams!!!



What is new in USB Reset Attribute?

  • Command Line Reseter (you can reset your USB attributes using through Command Prompt too)
  • For any file or folder "Access Denied" error is fixed by Take Ownership Registry Tweak.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Prabakaran T
Software Developer (Junior)
India India
Junior Software Developer.
Web Developer and Desktop Application Develeopment

You may also be interested in...

Comments and Discussions

QuestionMissing screenshots Pin
Nelek7-Aug-15 5:46
protectorNelek7-Aug-15 5:46 
GeneralMy vote of 5 Pin
Volynsky Alex6-Apr-14 1:20
professionalVolynsky Alex6-Apr-14 1:20 
GeneralRe: My vote of 5 Pin
Prabakaran T6-Apr-14 3:10
memberPrabakaran T6-Apr-14 3:10 
GeneralRe: My vote of 5 Pin
Volynsky Alex6-Apr-14 3:31
professionalVolynsky Alex6-Apr-14 3:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.161021.1 | Last Updated 6 Apr 2014
Article Copyright 2014 by Prabakaran T
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid