Go实践-文件系统操作
来源:互联网 发布:2k15球员数据名单 编辑:程序博客网 时间:2024/06/05 13:23
由于自己的PC笔记本,用的是可怜的120G SSD硬盘,相对于现在浩瀚无比的WIN7,VS ,硬盘空间少的可怜,经常导致硬盘空间不足。没办法,每次都人肉清除临时文件比如
VS编译时,生成的.obj文件 连接时生成的.pdb文件还有就是,VS2010引入的为了提高智能提示而生成的.sdf文件。
所以想到用程序自动实现这个功能,刚好正在学习go语言,全当练手了。
程序很简单,就是从某个目录递归开始,删除某些类型的文件
//My first go little program that clean dirty files for vspackage mainimport ("fmt""os""path""strings")var FileTypes2Clean = []string{".sdf", ".obj", ".pdb", ".tlog"}func main() {dir_to_clean, _ := os.Getwd()filecount, dirtysize := clean_dirtyfiles(dir_to_clean)fmt.Printf("Total delete %d files , %d MBytes\n", filecount, dirtysize>>10>>10)}func clean_dirtyfiles(dir string) (filecount int64, dirtysize int64) {//fmt.Println("To clean dirty files for " + dir)f_dir, err := os.Open(dir)if err != nil {fmt.Println(err)return}//enum filesfis, err_readdir := f_dir.Readdir(-1)if err_readdir != nil {fmt.Println(err_readdir)return}for _, fi := range fis {file_name := fi.Name()if !path.IsAbs(file_name) {file_name = path.Join(dir, file_name)}if fi.IsDir() {sub_filecount, sub_dirtysize := clean_dirtyfiles(file_name)filecount += sub_filecountdirtysize += sub_dirtysizecontinue}file_ext := strings.ToLower(path.Ext(file_name))for _, ext := range FileTypes2Clean {if ext != file_ext {continue}fsize := fi.Size()err_rm := os.Remove(file_name)if err_rm == nil {filecount += 1dirtysize += fsizefmt.Println("delete :" + file_name)} else {fmt.Println(err_rm)}} //for _, ext := range} //return}
- Go实践-文件系统操作
- PowerShell 2.0 实践(一)操作文件系统
- PowerShell 2.0 实践(一)操作文件系统
- PowerShell 2.0 实践(一)操作文件系统
- Go实践
- PowerShell 2.0 实践(二)操作文件系统(续)
- Go并发编程实践
- Go并发编程实践
- Go并发编程实践
- Go最佳实践
- 根文件系统实践(NFS文件系统)
- 操作文件系统
- 文件系统操作
- 文件系统操作
- 文件系统操作
- 文件系统操作
- FAT32文件系统实践
- GPFS 扩充 文件系统 实践
- 二阶魔方旋转
- Windows SDK API是个啥意思?
- 10亿以内的自守数
- integer.bytevalue()
- 让文件块变成可操作的文件系统
- Go实践-文件系统操作
- 高可用消息队列服务构建-RABBITMQ
- 动态规划+背包问题 扩展
- 加上了开头影片和进度条
- openstack中 novnc配置相关选项 VNC配置
- jsp中两种跳转方式及区别
- 详解大端 小端 (函数判断及转换)
- jbpm设计活动之state
- C语言编译指示字#error #warning #line