批量转换base64编码的文件名Windows

batch convert base64 encoded file names Windows

在 windows 中,如果文件夹中的每个文件名都使用 base64 编码,如何将文件夹中的 base64 文件名批量转换为其原始名称

您可以通过遍历文件路径并尝试解码这些文件的 base64 基本名称来完成此操作。如果成功,请重命名文件。

Get-ChildItem -Path 'TheFolderWhereTheFilesAre>' -File | ForEach-Object {
    # store the file name for when we hit the catch block
    $file = $_.FullName  
    try {
        $newBase = [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String($_.BaseName))
        $_ | Rename-Item -NewName ('{0}{1}' -f $newBase, $_.Extension) -ErrorAction Stop
    }
    catch {
        Write-Warning "Error renaming file '$file':`r`n$_.Exception.Message"
    }
}