如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )_php实例

语言之争由来已久,下面做一些IO实验(遍历9G多的文件,批量删除),尽量用事实来比较谁优谁劣。操作系统:win7 64 位,文件包大小:9.68G。

一、语言:C#

开发环境:vs 2013

代码总行数:43行

耗时:7秒

代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BatchDelete
{
class Program
{
static void Main(string[] args)
{
// 输入目录 e:\tmp
string path;
Console.WriteLine("输入要清理的目录:");
path = Console.ReadLine();
// 开始计时
Console.WriteLine("开始计时:"+DateTime.Now.ToString("HH:mm:ss"));
// 先遍历匹配查找再循环删除
if (Directory.Exists(path))
{
Console.Write("正在删除");
foreach (string fileName in Directory.GetFileSystemEntries(path))
{
if (File.Exists(fileName) && fileName.Contains("cachegrind.out"))
{
File.Delete(fileName);
}
}
Console.WriteLine("");
}
else
{
Console.WriteLine("该目录不存在!");
}
// 计时结束
Console.WriteLine("结束计时:" + DateTime.Now.ToString("HH:mm:ss"));
Console.ReadKey();
}
}
}

运行效果图:

二、语言:C/C++

开发环境:vs 2013

代码总行数:50行

耗时:36秒

代码:

#include <iostream>
#include <string>
#include <Windows.h>
#include <boost\filesystem\operations.hpp>
#include <boost\filesystem\path.hpp>
#include <boost\filesystem\convenience.hpp>
#include <boost\algorithm\string.hpp>
using namespace std;
int main(int argc, char * argv[])
{
// 输入目录 e:\tmp
string strPath;
cout << "输入要清理的目录:" << endl;
getline(cin, strPath);
// 开始计时
SYSTEMTIME sys_time; //声明变量
GetLocalTime(&sys_time); //将变量值设置为本地时间
printf("开始计时:%02d:%02d:%02d\n", sys_time.wHour,sys_time.wMinute,sys_time.wSecond);
// 先遍历匹配查找再循环删除
namespace fs = boost::filesystem;
fs::path full_path(fs::initial_path());
full_path = fs::system_complete(fs::path(strPath, fs::native));
if (fs::exists(full_path))
{
cout << "正在删除" ;
fs::directory_iterator item_begin(full_path);
fs::directory_iterator item_end;
for (; item_begin != item_end; item_begin++)
{
if (!fs::is_directory(*item_begin))
{
if (fs::exists(item_begin->path()) && boost::contains(item_begin->path().string(), "cachegrind.out"))
{
fs::remove(item_begin->path());
}
}
}
cout << "" << endl;
}
else
{
cout << "该目录不存在!" << endl;
}
// 计时结束
GetLocalTime(&sys_time);
printf("计时结束:%02d:%02d:%02d\n", sys_time.wHour, sys_time.wMinute, sys_time.wSecond);
system("pause");
return 0;
}

运行效果图:

三、语言:PHP

开发环境:Phpstorm

代码总行数:32行

耗时:13秒

代码:

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 16-1-29
* Time: 上午9:31
*/
date_default_timezone_set('prc');
//输入目录 e:\tmp
$path = 'e:\tmp';
//开始计时
echo date("H:i:s",time()) . '<br/>';
//先遍历匹配查找再循环删除
if(is_dir($path))
{
echo "正在删除";
$mydir = dir($path);
while($file = $mydir->read())
{
if(file_exists("$path/$file") && strpos($file, 'cachegrind.out') === 0)
{
unlink("$path/$file");
}
}
echo '<br/>';
}
else
{
echo "该目录不存在!" . '<br/>';
}
//计时结束
echo date("H:i:s",time()) . '<br/>'; 

运行效果图:

四、语言:Java

开发环境:eclipse

代码总行数:43行

耗时:10秒

代码:

package com.yejing;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
// 输入目录 e:\tmp
String path = null;
System.out.println("输入要清理的目录:");
path = s.next();
// 开始计时
Date nowTime=new Date();
SimpleDateFormat time=new SimpleDateFormat("HH:mm:ss");
System.out.println("开始计时:"+ time.format(nowTime));
// 先遍历匹配查找再循环删除
File dir = new File(path);
if(dir.exists()){
System.out.print("正在删除");
File[] fs = dir.listFiles();
for(int i=0;i<fs.length;i++){
if(!fs[i].isDirectory()){
if(fs[i].isFile() && fs[i].exists() && fs[i].getName().contains("cachegrind.out"))
{
fs[i].delete();
}
}
}
System.out.println("");
}else{
System.out.println("该目录不存在!");
}
// 计时结束
nowTime=new Date();
System.out.println("开始计时:"+ time.format(nowTime));
}
}

运行效果图:

五、语言:Python 3.3.5

开发环境:IDLE

代码总行数:20行

耗时:10秒

代码:

# -*- coding: utf-8 -*-
import datetime
import os
# 输入目录 e:\tmp
path = input("输入要清理的目录:\n");
# 开始计时
print("开始计时:",datetime.datetime.now().strftime('%H:%M:%S'));
# 先遍历匹配查找再循环删除
if(os.path.exists(path)):
print("正在删除");
for parent,dirnames,filenames in os.walk(path):
for filename in filenames:
targetFile = os.path.join(parent,filename)
if (os.path.isfile(targetFile) and "cachegrind.out" in targetFile):
os.remove(targetFile)

else:

print("该目录不存在!");
# 计时结束
print("结束计时:",datetime.datetime.now().strftime('%H:%M:%S')); 

运行效果图:

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索,以便于您获取更多的相关知识。

时间: 2024-12-08 14:58:43

如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )_php实例的相关文章

ThinkPHP多语言支持与多模板支持概述_php实例

本文以实例形式简述了ThinkPHP的多语言支持与多模板支持.是ThinkPHP中非常重要的技巧,分享给大家供大家参考.具体如下: 一.ThinkPHP多语言支持: config.php配置文件中添加: //多语言支持设置 'LANG_SWITCH_ON'=>true, 'DEFAULT_LANG'=>'zh-cn', 'LANG_AUTO_DETECT'=>true, 'LANG_LIST'=>'en-us,zh-cn,zh-tw', Home/Lang/文件夹下建立三个文件夹,

Win8怎样一键清理系统垃圾?

由于Win8自带安全软件,用户在安全性方面没有太大压力,所以很多朋友也不喜欢在电脑中安装安全管家类的软件.但是,这些软件都提供清理垃圾的功能.那么,没装这些软件,我们该怎么清理系统垃圾呢? 一键清理系统 点击下载:一键清理系统(只有3KB,快下吧) 相信很多用户都记得以前网上流传着一个通过复制代码自制清除垃圾器的小帖子,那个叫作"一键清理系统.Bat"的文件曾在很多用户的桌面上出现过.这个小软件现在完全适用于Win8,而且在不知名专业人士的修改下,还推出了升级版. 清理过程 新版本增加

win7清理系统垃圾教程

  win7清理系统垃圾教程          电脑使用久了,就会产生大量的系统垃圾,有些系统垃圾会泄露我们的隐私,而另外一些则会造成电脑卡顿的情况.那么,系统垃圾怎么清理呢? 今天跟大家分享的是Win7手动清理垃圾的方法. 众所周知, Windows7垃圾文件存放的地方主要有两处: 一个是在文件夹中 一个是存放在注册表里. 一.文件夹里的垃圾有:(假设Windows安装在C盘,如在其他分区替换字母即可) 1."我的文档"里的垃圾,安放在C:WindowsRecent文件夹中; 2.安

巧妙清理系统垃圾 磁盘空间释放方法全功略

Windwos操作系统的将PC电脑带入了普通家庭,与DOS系统相比,windows系统的可视化窗口菜单操作更加方便.快捷.易于上手.但在 windows中最大的问题就是容易产生垃圾文件,在DOS中我们在使用较长时间以后系统的C盘一般是不会发生变化的,除非你往C盘存入了各种文件.但 windows系统却不同了,无论是windows 98/windows 2000还是windows XP,在我们使用一断时间以后,会明显的感觉到C盘的体积增大了.排除我们安装入C盘的各种应用程序外,其中很大的原因是由于

xp系统临时文件保存目录如何更改

  就像win7 64位系统浏览网页,浏览视频,浏览图片都会产生一些临时文件,都会保存到电脑上,时间就了文件庞大,会让系统变得臃肿,系统运行速度会被严重的影响,那么有什么方法可以改变这个问题,让系统速度变快呢?可以通过更改临时文件的保存路径,这样C盘就不会因为临时文件的肥胖导致系统运行速度变慢! 1.桌面右击我的电脑查看属性,右键选择看到属性选项然后点击打开弹出属性窗口. 2.弹出的属性窗口中在选项里面的高级选项标签,点击打开了在继续选择"环境变量"选项标签打开; 3.弹出的环境变量标

超赞!记事本清理系统垃圾!

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   当系统被塞满的时,你会选择怎么办--是安装优化软件自动清理系统垃圾呢?还是根据网上的教程手工清理?前者有可能造成系统故障,而且得另装软件,后者则有技术门槛,操作烦琐.打开"记事本",写几行批处理吧!马上你就会拥有史上最"绿"的垃圾清理工具. 通缉最常见的垃圾Q文件 Windows日常使用中产生的垃圾文件中,突然是哪些家伙扮

PP助手支招:iOS7不越狱怎么清理系统垃圾?

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 iOS系统本身带有"自净"功能,不需要清理内存,但还是会存在一些无用的信息和文件没法被系统自动清理.使用iPhone和iPad的果粉应该都知道,没越狱是不可清理内存和垃圾的,PP助手有新招,没越狱iOS6.1.3/6.1.4/7用户可以使用iCleaner来清理,进一步释放设备的存储空间. iCleaner是什么东西? i

清理系统垃圾bat批处理文件

先创建一个"批处理清除垃圾文件.bat"文件,然后把下面代码加入  代码如下 复制代码 @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%*.tmp del /f /s /q %systemdrive%*._mp del /f /s /q %systemdrive%*.log del /f /s /q %systemdrive%*.gid del /f /s /q %systemdrive%*.chk del /

Win7如何设置关机自动清理系统垃圾?Win7设置关机自动清理系统垃圾的方法

操作步骤: 1.在桌面上单击鼠标右键新建一个文本文档,双击打开它,然后在里面输入:  代码如下 复制代码 del 文件夹路径 /q 注:以上命令也可以使用一键自动清理bat命令 随后点击左上角"文件--另存为",如下图所示: 2.在弹出的另存为窗口中,我们先单击"桌面",接着在保存类型下拉框中选择"所有文件",文件名取为"自动清理临时文件.bat",然后点击"保存"按钮,如下图所示: 3.执行完上一步操作后