我需要恢复大约 8 年前创建的比特币钱包。
当时我还是个孩子,我以为自己很聪明,会把钱包压缩或解压,然后把扩展名改成图像文件。我把它上传到我的网站上。
我有该网站的备份,大约 30 GB,包含数千张图片。我可以通过文件大小来限制,因为我的 zip/图像文件很可能很小。但由于它托管了大量网页,因此有数千个微小的图像文件。
我怎样才能恢复这个钱包?
问题
- 是否可以搜索那些显示为图像但实际上不是图像的文件?
- 是否有可能找到所有压缩的文件,无论文件类型如何?
答案1
PowerShell:无论文件扩展名是什么,都验证它是否不是图像文件
您可以使用下面的电源外壳使用位图类的System.Drawing 命名空间输出的红色图像不是有效的。
无论文件扩展名是什么,那些不是有效图像类型的文件都会以红色列出,您需要首先检查这些文件是否是您几年前更改的文件。
如果文件是有效的图像类型,无论其文件扩展名是什么,它都不会被列出。
电源外壳
Add-Type -AssemblyName System.Drawing;
Get-ChildItem -Path "C:\SearchFolder" -File -Recurse -Filter "*.*" | % { Process {
If ( $_.Length -gt 0 ) {
$fn = $_.FullName;
$img = "";
Try { $img = New-Object System.Drawing.Bitmap $_.FullName } Catch { Write-Host $fn -ForegroundColor Red };
}
}};
输出示例
笔记:您应该首先检查这些文件,它们不是有效的图像。
C:\SearchFolder\CentosScripts.zip.png
C:\SearchFolder\epel-release-latest-8.noarch.rpm
C:\SearchFolder\Test432\firmware.zip
C:\SearchFolder\Test432\Test\Greenshot-INSTALLER-1.2.10.6-RELEASE.exe
C:\SearchFolder\Test123\Test\irc_Silo2_Level.txt
支持资源
- 添加类型
- 获取子项
- ForEach 对象
标准别名对于 Foreach 对象:'
%
' 符号,ForEach - 如果()
- System.Drawing 命名空间
- 位图类
- 尝试 {...} 捕捉 {...} 最后 {...}