我刚刚使用 Corz Checksum 为我的 MP3 收藏中的每张专辑创建了 SHA1 哈希值。它根据需要在每个文件夹中留下了一个 .hash 文件。(每个文件夹都是一张专辑。)
但是,它生成的哈希文件都具有文件夹的名称,例如
披头士乐队 - 1966 - Revolver.hash
我想自动重命名所有这些 .hash 文件匹配每个文件夹也包含的 .m3u 播放列表文件的名称。例如,
00 - 左轮手枪.m3u
应该导致哈希文件重命名为
00——Revolver.hash
有人知道用命令行执行此操作的方法吗?我希望找到类似的东西:我可以使用哪个命令在 Windows 中递归重命名或移动文件?
答案1
如果您愿意的话,您可以使用 PowerShell 来执行此操作。
function Rename-HashFiles ([string]$path)
{
[System.IO.FileInfo[]]$hashFiles = Get-ChildItem -Path $path -Force -Include "*.hash" -Recurse
foreach($hashFile in $hashFiles)
{
[string]$newFileName = [string]::Empty;
Get-ChildItem -Path ($hashFile.DirectoryName) -Filter "*.m3u" | % { $newFileName = [System.IO.Path]::GetFileNameWithoutExtension($_.Name) }
$newFileName += ([System.IO.Path]::GetExtension($hashFile.Name))
Rename-Item -Path $hashFile.FullName -NewName $newFileName
}
}
Rename-HashFiles "C:\My_Music_Folder"