首页 > 代码库 > 用C#Winform写个简单的批量清空文件内容和删除文件的小工具

用C#Winform写个简单的批量清空文件内容和删除文件的小工具

C#Winform写个简单的批量清空文件内容和删除文件的小工具

本文介绍这个简单得不能再简单的小项目。做这个项目,有以下目的。

当然是做个能用的工具

学习使用Github

 

关于用VS2013创建一个项目并添加到Github的教程,请参考(http://www.admin10000.com/document/4004.html)。简单来说,就是先用VS创建项目;然后在Github网站上创建一个Respo(本项目的代码托管项目),记下(https://*.git)那个地址;最后用"提交""同步"这些按钮来同步代码到服务器。

 

这个小工具我命名为FileWiper,其Github地址为(https://github.com/bitzhuwei/FileWiper.git),欢迎大家来讨论。

技术分享

技术分享

技术分享

使用Github

有一个仓库,叫Repo A。你如果要往里贡献代码,首先要Fork这个Repo,于是在你的Github账号下有了一个Repo A2,。然后你在这个A2下工作,Commit,push等。然后你希望原始仓库Repo A合并你的工作,你可以在Github上发起一个Pull Request,意思是请求Repo A的所有者从你的A2合并分支。如果被审核通过并正式合并,这样你就为项目A做贡献了

清空文件内容

只需打开文件,将原来的内容覆盖掉即可。

public static void WipeFileContent(string filename)

{

     using (var stream =

        new System.IO.StreamWriter(filename, false))

     {

         stream.Write("http://bitzhuwei.cnblogs.com");

     }

}

 

注册到系统右键菜单

用RegistryKey进行注册。

程序路径后面跟了个" %1",这样在启动时,在Main函数里的args参数就会包含选定的文件路径(或文件夹路径)。

技术分享
 1         private void btnRegister_Click(object sender, EventArgs e) 2         { 3             //给所有类型的文件添加自定义的右键菜单 4             { 5                 var itemName = "Wipe Content"; 6                 var associatedProgramFullPath = this.GetType().Assembly.Location; 7                 //创建项:shell  8                 RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"*\shell", true); 9                 if (shellKey == null)10                 {11                     shellKey = Registry.ClassesRoot.CreateSubKey(@"*\shell");12                 }13 14                 //创建项:右键显示的菜单名称15                 RegistryKey rightCommondKey = shellKey.CreateSubKey(itemName);16                 RegistryKey associatedProgramKey = rightCommondKey.CreateSubKey("command");17 18                 //创建默认值:关联的程序19                 associatedProgramKey.SetValue(string.Empty, associatedProgramFullPath + " %1");20 21                 //刷新到磁盘并释放资源22                 associatedProgramKey.Close();23                 rightCommondKey.Close();24                 shellKey.Close();25             }26 27             //给所有文件夹添加自定义的右键菜单28             {29                 var itemName = "Wipe Directory";30                 var associatedProgramFullPath = this.GetType().Assembly.Location;31                 //创建项:shell 32                 RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"directory\shell", true);33                 if (shellKey == null)34                 {35                     shellKey = Registry.ClassesRoot.CreateSubKey(@"*\shell");36                 }37 38                 //创建项:右键显示的菜单名称39                 RegistryKey rightCommondKey = shellKey.CreateSubKey(itemName);40                 RegistryKey associatedProgramKey = rightCommondKey.CreateSubKey("command");41 42                 //创建默认值:关联的程序43                 associatedProgramKey.SetValue("", associatedProgramFullPath +" %1");44 45 46                 //刷新到磁盘并释放资源47                 associatedProgramKey.Close();48                 rightCommondKey.Close();49                 shellKey.Close();50             }51         }
注册到系统右键菜单

 

取消注册系统右键菜单

仍然用RegistryKey实现。

技术分享
 1         private void btnUnregister_Click(object sender, EventArgs e) 2         { 3             //给所有类型的文件删除自定义的右键菜单 4             { 5                 var itemName = "Wipe Content"; 6                 var associatedProgramFullPath = this.GetType().Assembly.Location; 7                 //创建项:shell  8                 RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"*\shell", true); 9                 if(shellKey!=null)10                 {11                     shellKey.DeleteSubKeyTree(itemName, false);12                 }13 14                 //刷新到磁盘并释放资源15                 shellKey.Close();16             }17 18             //给所有文件夹删除自定义的右键菜单19             {20                 var itemName = "Wipe Directory";21                 var associatedProgramFullPath = this.GetType().Assembly.Location;22                 //创建项:shell 23                 RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"directory\shell", true);24                 if (shellKey != null)25                 {26                     shellKey.DeleteSubKeyTree(itemName, false);27                 }28 29                 //刷新到磁盘并释放资源30                 shellKey.Close();31             }32         }
取消注册系统右键菜单

 

欢迎大家到本项目的github上关注(https://github.com/bitzhuwei/FileWiper.git)!

用C#Winform写个简单的批量清空文件内容和删除文件的小工具