如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java ),
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java ),
语言之争由来已久,下面做一些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'));
运行效果图:
您可能感兴趣的文章:
- PowerShell脚本清理指定天数前的临时文件夹实现代码

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











GEMM(일반 행렬 곱셈)은 많은 응용 프로그램과 알고리즘의 중요한 부분이며 컴퓨터 하드웨어 성능을 평가하는 중요한 지표 중 하나이기도 합니다. GEMM 구현에 대한 심층적인 연구와 최적화는 고성능 컴퓨팅과 소프트웨어와 하드웨어 시스템 간의 관계를 더 잘 이해하는 데 도움이 될 수 있습니다. 컴퓨터 과학에서 GEMM의 효과적인 최적화는 컴퓨팅 속도를 높이고 리소스를 절약할 수 있으며, 이는 컴퓨터 시스템의 전반적인 성능을 향상시키는 데 중요합니다. GEMM의 작동 원리와 최적화 방법에 대한 심층적인 이해는 현대 컴퓨팅 하드웨어의 잠재력을 더 잘 활용하고 다양하고 복잡한 컴퓨팅 작업에 대한 보다 효율적인 솔루션을 제공하는 데 도움이 될 것입니다. GEMM의 성능을 최적화하여

컴퓨터에서 폴더를 삭제하거나 압축을 풀 때 "오류 0x80004005: 지정되지 않은 오류"라는 프롬프트 대화 상자가 나타나는 경우가 있습니다. 이러한 상황이 발생하면 어떻게 해야 합니까? 실제로 오류 코드 0x80004005가 나타나는 데에는 여러 가지 이유가 있지만 대부분은 바이러스로 인해 발생합니다. 문제를 해결하기 위해 dll을 다시 등록할 수 있습니다. 아래에서는 편집기에서 0x80004005 오류 코드를 처리한 경험을 설명합니다. . 일부 사용자는 컴퓨터를 사용할 때 오류 코드 0X80004005가 표시됩니다. 0x80004005 오류는 주로 컴퓨터가 특정 동적 링크 라이브러리 파일을 올바르게 등록하지 않거나 컴퓨터와 인터넷 간의 HTTPS 연결을 허용하지 않는 방화벽으로 인해 발생합니다. 그렇다면 어떨까요?

7월 29일, AITO Wenjie의 400,000번째 신차 출시 행사에 Huawei 전무이사이자 Terminal BG 회장이자 Smart Car Solutions BU 회장인 Yu Chengdong이 참석하여 연설을 했으며 Wenjie 시리즈 모델이 출시될 것이라고 발표했습니다. 올해 출시 예정 지난 8월 Huawei Qiankun ADS 3.0 버전이 출시되었으며, 8월부터 9월까지 순차적으로 업그레이드를 추진할 계획입니다. 8월 6일 출시되는 Xiangjie S9에는 화웨이의 ADS3.0 지능형 운전 시스템이 최초로 탑재됩니다. LiDAR의 도움으로 Huawei Qiankun ADS3.0 버전은 지능형 주행 기능을 크게 향상시키고, 엔드투엔드 통합 기능을 갖추고, GOD(일반 장애물 식별)/PDP(예측)의 새로운 엔드투엔드 아키텍처를 채택합니다. 의사결정 및 제어), 주차공간부터 주차공간까지 스마트 드라이빙의 NCA 기능 제공, CAS3.0 업그레이드

Quark Netdisk와 Baidu Netdisk는 현재 파일 저장에 가장 일반적으로 사용되는 Netdisk 소프트웨어입니다. Quark Netdisk의 파일을 Baidu Netdisk에 저장하려면 어떻게 해야 합니까? 이번 호에서는 편집자가 Quark Network Disk 컴퓨터에서 Baidu Network Disk로 파일을 전송하는 방법에 대한 튜토리얼 단계를 정리했습니다. Quark 네트워크 디스크 파일을 Baidu 네트워크 디스크에 저장하는 방법은 무엇입니까? Quark Network Disk에서 Baidu Network Disk로 파일을 전송하려면 먼저 Quark Network Disk에서 필요한 파일을 다운로드한 다음 Baidu Network Disk 클라이언트에서 대상 폴더를 선택하고 열어야 합니다. 그런 다음 Quark Cloud Disk에서 다운로드한 파일을 Baidu Cloud Disk 클라이언트가 연 폴더에 끌어서 놓거나 업로드 기능을 사용하여 Baidu Cloud Disk에 파일을 추가합니다. 업로드가 완료된 후 파일이 Baidu Cloud Disk에 성공적으로 전송되었는지 확인하세요. 그게 다야

최근 많은 네티즌들이 편집자에게 hiberfil.sys 파일이 무엇인지 문의했습니다. hiberfil.sys가 C 드라이브 공간을 많이 차지하고 삭제될 수 있나요? 편집자는 hiberfil.sys 파일을 삭제할 수 있음을 알려줄 수 있습니다. 아래에서 자세한 내용을 살펴보겠습니다. hiberfil.sys는 Windows 시스템의 숨겨진 파일이자 시스템 최대 절전 모드 파일입니다. 일반적으로 C 드라이브의 루트 디렉터리에 저장되며 크기는 시스템에 설치된 메모리 크기와 동일합니다. 이 파일은 컴퓨터가 최대 절전 모드일 때 사용되며, 복구 시 빠르게 이전 상태로 복원할 수 있도록 현재 시스템의 메모리 데이터를 담고 있습니다. 크기가 메모리 용량과 동일하므로 하드 드라이브 공간을 더 많이 차지할 수 있습니다. 동면

Apple 16 시스템의 최고 버전은 iOS16.1.4입니다. iOS16 시스템의 최고 버전은 사람마다 다를 수 있으며 일상적인 사용 경험의 추가 및 개선도 많은 사용자로부터 호평을 받았습니다. Apple 16 시스템의 가장 좋은 버전은 무엇입니까? 답변: iOS16.1.4 iOS 16 시스템의 가장 좋은 버전은 사람마다 다를 수 있습니다. 공개 정보에 따르면 2022년에 출시된 iOS16은 매우 안정적이고 성능이 뛰어난 버전으로 평가되며, 사용자들은 전반적인 경험에 상당히 만족하고 있습니다. 또한, iOS16에서는 새로운 기능 추가와 일상 사용 경험 개선도 많은 사용자들에게 호평을 받고 있습니다. 특히 업데이트된 배터리 수명, 신호 성능 및 발열 제어 측면에서 사용자 피드백은 비교적 긍정적이었습니다. 그러나 iPhone14를 고려하면

4월 11일, 화웨이는 처음으로 HarmonyOS 4.2 100개 시스템 업그레이드 계획을 공식 발표했습니다. 이번에는 휴대폰, 태블릿, 시계, 헤드폰, 스마트 스크린 및 기타 장치를 포함하여 180개 이상의 장치가 업그레이드에 참여할 것입니다. 지난달 HarmonyOS4.2 100대 업그레이드 계획이 꾸준히 진행됨에 따라 Huawei Pocket2, Huawei MateX5 시리즈, nova12 시리즈, Huawei Pura 시리즈 등을 포함한 많은 인기 모델도 업그레이드 및 적응을 시작했습니다. 더 많은 Huawei 모델 사용자가 HarmonyOS가 제공하는 일반적이고 종종 새로운 경험을 즐길 수 있을 것입니다. 사용자 피드백에 따르면 HarmonyOS4.2를 업그레이드한 후 Huawei Mate60 시리즈 모델의 경험이 모든 측면에서 개선되었습니다. 특히 화웨이 M

Oracle 데이터베이스에서 시스템 날짜를 수정하는 방법에 대한 자세한 설명 Oracle 데이터베이스에서 시스템 날짜를 수정하는 방법은 주로 NLS_DATE_FORMAT 매개 변수를 수정하고 SYSDATE 함수를 사용하는 것입니다. 이 기사에서는 독자가 Oracle 데이터베이스에서 시스템 날짜를 수정하는 작업을 더 잘 이해하고 숙달할 수 있도록 이 두 가지 방법과 구체적인 코드 예제를 자세히 소개합니다. 1. NLS_DATE_FORMAT 매개변수 메소드 수정 NLS_DATE_FORMAT은 Oracle 데이터입니다.
