摘要:适用于清理 .NET 项目文件夹中常见的不需要的文件和文件夹。脚本会删除 bin、obj、packages 等文件夹,以及一些常见的临时文件和用户特定的配置文件。
适用于清理 .NET 项目文件夹中常见的不需要的文件和文件夹。脚本会删除 bin、obj、packages 等文件夹,以及一些常见的临时文件和用户特定的配置文件。
脚本,自动获取脚本所在的路径,并将该路径作为项目根目录。同时,脚本会遍历该路径下的所有文件和文件夹,删除指定的不需要的文件和文件夹。
.bat批处理脚本,通过调用del和rmdir命令来删除指定的文件和文件夹。 @echo offsetlocal 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. 将上述代码保存为一个 .bat文件,例如CleanDotNetProject.bat。
2. 将该 .bat文件放置在你的项目根目录中,或者任何你希望开始清理的路径下。
3. 双击运行该 .bat文件,或者在命令提示符中导航到脚本所在目录并运行:
cd "C:\Path\To\Your\ScriptLocation"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. 自动获取脚本路径:
$projectRoot = Split-Path -Parent $MyInvocation.MyCommand.Definition这行代码会获取脚本文件所在的目录,并将其作为项目根目录。
2. 遍历所有子文件夹:
使用 Get-ChildItem -Recurse来递归查找所有匹配的文件夹和文件,确保脚本可以清理脚本所在路径及其所有子路径下的目标文件和文件夹。
3. 错误处理:
添加了 -ErrorAction SilentlyContinue参数,避免在某些文件或文件夹不存在时抛出错误。
使用方法1. 将脚本保存为一个 .ps1文件,例如CleanDotNetProject.ps1。
2. 将脚本文件放置在你的项目根目录中,或者任何你希望开始清理的路径下。
3. 打开 PowerShell。
4. 导航到脚本所在的目录:
cd "C:\Path\To\Your\ScriptLocation"5. 运行脚本:
.\CleanDotNetProject.ps1脚本会自动清理脚本所在路径及其所有子路径下的指定文件和文件夹。
来源:opendotnet