Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Change file attribute with c# cmd command

Posted on 2011-02-10
7
Medium Priority
?
1,405 Views
Last Modified: 2013-12-17
I want to change file attribute with cmd.exe via c#.
But when I Executed the program. It don't any changes.

Please help, where's my mistake?

string arguments = @"attrib -r -h -s C:\WINDOWS\system32\drivers\etc\hosts";
System.Diagnostics.Process.Start("cmd.exe", arguments);

Open in new window

0
Comment
Question by:fancyfanta
  • 3
  • 3
7 Comments
 
LVL 11

Accepted Solution

by:
jasonduan earned 2000 total points
ID: 34864994
Do you really have to use "cmd.exe"?

the following C# code will have the same effect without launching a seperate process.
FileInfo f =  new FileInfo(@"C:\WINDOWS\system32\drivers\etc\hosts");
f.Attributes = f.Attributes & ~FileAttributes.ReadOnly & ~FileAttributes.System & ~FileAttributes.Hidden;


File.SetAttributes(...) can also be used to set file attributes if you know the exact desired attributes.
0
 

Author Comment

by:fancyfanta
ID: 34865062
Thank you @jasonduan,
and then how can I lock down the file? I mean I want to get back the ex attributes.
Thanks
0
 
LVL 11

Assisted Solution

by:jasonduan
jasonduan earned 2000 total points
ID: 34865279
you can save the attributes:
FileAttributes orgAttributes = f.Attributes;
then restore it when you done:
f.Attributes = orgAttributes;
or
File.SetAttributes(@"c:\....", orgAttributes);
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:fancyfanta
ID: 34865357
It gives error:
The name 'orgAttributes' does not exist in the current context
0
 

Author Comment

by:fancyfanta
ID: 34865546
Sorry my mistake.
But I want to change attributes to readonly, system file and hidden
How can i?
I dont want to orginals
0
 
LVL 15

Expert Comment

by:Russell_Venable
ID: 34870665
This is one of the best examples on the net that I
You can refer too. http://www.csharp-examples.net/file-attributes/
0
 
LVL 11

Assisted Solution

by:jasonduan
jasonduan earned 2000 total points
ID: 34871162
this code changes attributes to readonly, system file and hidden

File.SetAttributes(@"c:\....", FileAttributes.ReadOnly | FileAttributes.System | FileAttributes.Hidden);
0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
Integration Management Part 2
Screencast - Getting to Know the Pipeline
Suggested Courses

885 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question