本帖最后由 a81456890 于 2026-3-29 02:09 编辑
仓鼠症犯了,把nas里的视频想归类整理一下,我这个视频刮削器有点脑子不灵光,刮削下所有的东西都在一个文件夹导致处理起来很麻瓜,所以搞了这个小玩意
代码如下[Asm] 纯文本查看 复制代码 # ==============================================# 视频自动整理工具(英文界面 · 无中文乱码版)
# 功能:为每个视频创建同名文件夹,并将视频移入
# 支持:远程挂载盘 / NAS / SMB 共享文件夹
# ==============================================
# 定义需要整理的视频格式(所有常见格式)
$exts = @(".mp4", ".mkv", ".avi", ".mov", ".flv", ".wmv", ".rmvb", ".m4v", ".ts", ".m2ts")
# 计数器:记录处理了多少个视频
$count = 0
# 获取当前 EXE/脚本 所在的目录
$currentDir = $PWD.Path
# ==================== 核心处理逻辑 ====================
# 遍历当前目录下的所有文件
Get-ChildItem -File | Where-Object {
# 排除脚本/EXE自身,不处理自己
$_.Name -ne $MyInvocation.MyCommand.Name -and
# 只处理上面定义的视频格式
$exts -contains $_.Extension.ToLower()
} | ForEach-Object {
# 每处理一个文件,计数+1
$count++
# 定义:文件夹名称 = 视频文件名(不含后缀)
$folder = Join-Path $currentDir $_.BaseName
# 输出进度:正在处理哪个文件
Write-Host "[$count] Processing: $($_.Name)"
# ============== 第一步:创建同名文件夹 ==============
# 如果文件夹不存在,才创建(已存在则跳过,不报错)
if (-not (Test-Path $folder)) {
New-Item -ItemType Directory -Path $folder | Out-Null
}
# ============== 第二步:移动文件到文件夹 ==============
try {
# 移动文件(-Force 强制覆盖,避免重复文件报错)
Move-Item -Path $_.FullName -Destination $folder -Force
# 输出成功信息
Write-Host " -> Moved to: $folder" -ForegroundColor Green
}
catch {
# 移动失败时输出错误信息
Write-Host " -> Failed: $($_.Exception.Message)" -ForegroundColor Red
}
# 空行,让界面更整洁
Write-Host ""
}
# ==================== 处理完成 ====================
Write-Host "==============================================" -ForegroundColor Cyan
Write-Host "Done! Total videos processed: $count" -ForegroundColor Cyan
Write-Host "==============================================" -ForegroundColor Cyan
# 按回车退出(方便查看结果)
Read-Host "Press Enter to exit"
处理前
处理后
食用方法:
方法 1:将以上代码保存为VideoSort.ps1用「命令提示符」或「PowerShell」手动打开
- 打开目标文件夹(放 VideoSort.ps1 的地方)
- 在文件夹地址栏输入 cmd 或 powershell,然后按回车
- 输入 cmd → 会打开「命令提示符」窗口
- 输入 powershell → 会直接打开 PowerShell 并定位到当前目录
- 在打开的窗口里输入:
[Asm] 纯文本查看 复制代码 .\VideoSort.ps1
按回车运行即可。
成品程序放在需要生成的文件夹下执行即可
VideoSort_Silent.zip
(15.47 KB, 下载次数: 8)
不放心的可以自己查毒,顺便贴下查杀结果 0.0 |