close

【C#】【入門練習】寫出一個簡易的垃圾清除程式

image

 

 

前言

近期開始學一點C#,想當然有點應用學比較有趣,

接下來會嘗試把之前Python寫的一些code轉成C#當成學習筆記。

如果覺得有趣還請幫我分享,首先帶來垃圾的小程式,幫助電腦不卡卡吧。

 

進入教學前,不要忘了訂閱按讚分享唷!

部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ

 

 

一、關鍵方法及程式碼


 

(1) using System.Threading

中可以使用 Thread.Sleep(1000); // 暫停1秒

 

(2) $@

$@"C:\Users\{UserName}\AppData\Local\Temp";

加上@字串會直接被編譯不會受到換行符號等等的影響

加上$可以在字串中使用{}裡面可以放變數

 

(3) 常用的方法(記得 using System.IO)

File.Delete(file); /// 可以刪除資料(file放檔案路徑)

string[] files = Directory.GetFiles(pTempDir); /// 取得路徑下所有檔案

string UserName = Environment.UserName; /// 取得使用者名稱

 

(4) C#中最簡單的try...catch...

                try
                {
                    File.Delete(file);
                    Console.WriteLine($@"O 成功刪除 {Path.GetFileName(file)}");
                    nCountO += 1;
                }
                catch (Exception e)
                {
                    Console.WriteLine($@"X 無法刪除 {Path.GetFileName(file)}");
                    nCountX += 1;
                }

 

(5) C#中的迴圈之一

foreach (var file in files){.........}

跟python很像可以直接遊歷[]中的每個變數

 

 

完整程式碼(複製貼上用即可)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Threading;
using System.IO;

namespace TempClearKing
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("歡迎使用暫存清除者");
            Console.WriteLine
                (
                "--------------------------------------------------------------------------- \n" +
                "開發: Nash \n" + 
                "說明: 清除資料夾暫存區裡面的垃圾 \n" +
                "備註: 等待1秒後自動開始清除 \n" + 
                "--------------------------------------------------------------------------- " 
                );
            Thread.Sleep(1000); // 暫停1秒


            /// 使用者名稱、路徑
            string UserName = Environment.UserName;
            string pTempDir = $@"C:\Users\{UserName}\AppData\Local\Temp";

            /// 垃圾資料
            string[] files = Directory.GetFiles(pTempDir);
            int nCountO = 0;
            int nCountX = 0;
            foreach (var file in files)
            {
                try
                {
                    File.Delete(file);
                    Console.WriteLine($@"O 成功刪除 {Path.GetFileName(file)}");
                    nCountO += 1;
                }
                catch (Exception e)
                {
                    Console.WriteLine($@"X 無法刪除 {Path.GetFileName(file)}");
                    nCountX += 1;
                }
            }
            Console.WriteLine
                (
                "--------------------------------------------------------------------------- \n" +
                $"成功刪除 { nCountO.ToString()} 筆暫存資料 | { nCountX.ToString()} 筆還在使用中無法刪除 \n" +
                "--------------------------------------------------------------------------- "
                );

            Thread.Sleep(2000); // 暫停2秒
        }
    }
}

 

 

二、後記


詳細的原理很簡單,大家可以看這篇:

【Windows】清理暫存在電腦裡的垃圾:win10 win7加快電腦速度的萬用方法

 

部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ

arrow
arrow

    恩哥Python 發表在 痞客邦 留言(0) 人氣()