企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

快速清理 .NET 项目文件夹中不需要的文件和文件夹

wudianyun 2025-06-10 18:44:32 精选文章 10 ℃

适用于清理 .NET 项目文件夹中常见的不需要的文件和文件夹。脚本会删除 bin、obj、packages 等文件夹,以及一些常见的临时文件和用户特定的配置文件。

脚本,自动获取脚本所在的路径,并将该路径作为项目根目录。同时,脚本会遍历该路径下的所有文件和文件夹,删除指定的不需要的文件和文件夹。

.bat 批处理脚本

.bat 批处理脚本,通过调用 delrmdir 命令来删除指定的文件和文件夹。

 @echo off
setlocal enabledelayedexpansion

:: 设置颜色代码
set "colorDefault=07" :: 默认颜色(白色)
set "colorSuccess=0A" :: 成功提示(绿色)

:: 获取脚本所在路径作为项目根目录
set "projectRoot=%~dp0"
echo Project root: %projectRoot%

:: 定义要删除的文件夹名称
set "foldersToDelete=bin obj .vs .vscode node_modules"

:: 定义要删除的文件模式
set "filesToDelete=*.pdb *.user *.suo *.bak *.tmp *.log"

:: 删除指定的文件夹
echo Deleting folders...
for%%fin (%foldersToDelete%) do (
for /d /r "%projectRoot%" %%din (%%f) do (
ifexist "%%d" (
color%colorSuccess%
echo Deleting folder: %%d
rmdir /s /q "%%d"
color%colorDefault%
)
)
)

:: 删除指定的文件
echo Deleting files...
for%%fin (%filesToDelete%) do (
for /r "%projectRoot%" %%din (%%f) do (
ifexist "%%d" (
echo Deleting file: %%d
del /f /q "%%d"
)
)
)

echo Cleanup completed.
pause

使用方法

  1. 1. 将上述代码保存为一个 .bat 文件,例如 CleanDotNetProject.bat
  2. 2. 将该 .bat 文件放置在你的项目根目录中,或者任何你希望开始清理的路径下。
  3. 3. 双击运行该 .bat 文件,或者在命令提示符中导航到脚本所在目录并运行:
    cd "C:\Path\To\Your\ScriptLocation"
    CleanDotNetProject.bat

PowerShell 脚本

PowerShell 清理脚本

# 获取脚本所在的路径作为项目根目录
$projectRoot = Split-Path-Parent$MyInvocation.MyCommand.Definition

# 定义要删除的文件和文件夹的模式
$foldersToDelete = @(
"bin",
"obj",
"packages",
".vs",
".vscode",
"node_modules"
)

$filesToDelete = @(
"*.pdb",
"*.user",
"*.suo",
"*.bak",
"*.tmp",
"*.log"
)

# 删除指定的文件夹
foreach ($folderin$foldersToDelete)
{
$folders = Get-ChildItem-Path$projectRoot-Recurse-Directory-Filter$folder-ErrorAction SilentlyContinue
foreach ($folderPathin$folders)
{
Write-Host"Deleting folder: $($folderPath.FullName)"
Remove-Item-Path$folderPath.FullName -Recurse-Force
}
}

# 删除指定的文件
foreach ($filePatternin$filesToDelete)
{
$files = Get-ChildItem-Path$projectRoot-Recurse-File-Filter$filePattern-ErrorAction SilentlyContinue
foreach ($filein$files)
{
Write-Host"Deleting file: $($file.FullName)"
Remove-Item-Path$file.FullName -Force
}
}

Write-Host "Cleanup completed."

说明

  1. 1. 自动获取脚本路径
    $projectRoot = Split-Path -Parent $MyInvocation.MyCommand.Definition
    这行代码会获取脚本文件所在的目录,并将其作为项目根目录。
  2. 2. 遍历所有子文件夹
    使用 Get-ChildItem -Recurse 来递归查找所有匹配的文件夹和文件,确保脚本可以清理脚本所在路径及其所有子路径下的目标文件和文件夹。
  3. 3. 错误处理
    添加了 -ErrorAction SilentlyContinue 参数,避免在某些文件或文件夹不存在时抛出错误。

使用方法

  1. 1. 将脚本保存为一个 .ps1 文件,例如 CleanDotNetProject.ps1
  2. 2. 将脚本文件放置在你的项目根目录中,或者任何你希望开始清理的路径下。
  3. 3. 打开 PowerShell。
  4. 4. 导航到脚本所在的目录:
    cd "C:\Path\To\Your\ScriptLocation"
  5. 5. 运行脚本:
    .\CleanDotNetProject.ps1

脚本会自动清理脚本所在路径及其所有子路径下的指定文件和文件夹。

总结

这可以帮助你快速清理 .NET 项目文件夹中不需要的文件和文件夹,让项目更加整洁。





最近发表
标签列表