最近为客户端安装了新的 Windows 2012 Essentials 服务器。他们有一个非常旧的 XP 系统,他们一直将其用作文件服务器。在似乎从旧 XP 系统成功迁移客户端文件的几周后,客户端发现了几个 0KB 文件。
我搜索了他们的文件结构,其中有数千个。
好消息是我仍然拥有原始磁盘,并且文件在此磁盘上存在并可使用。我将它作为 image.vhd 并作为驱动器连接到服务器。
坏消息是客户已经使用并更新了数据迁移中的多个文件,因此不可能对数据进行批发再导出。或者即使我确实做了一个并手动观察了替换 0KB 的那个,由于涉及的文件数量,所涉及的时间并不实际。
这是我第一次不得不处理这类问题,我不知道解决这个问题的最佳方法。
我知道我需要以某种方式搜索大小为 0KB 的客户端数据文件,然后当找到一个时,在原始磁盘上查找该文件,然后将服务器上的 0KB 文件复制并替换为在原始磁盘上找到的文件。
我做代码,但不是在 Windows 中。我的编码经验是围绕网站和数据库的 PHP、HTML、CSS、Javascript 和其他语言。
我真的可以使用一些帮助来解决这个问题。
提前致谢!
下一个脚本可能是一个起点。
基本文档参考:
注意(带有直接链接):
set
command : 等中的括号,set "serverPath=D:\Path\files"
以避免在变量名称和值中出现不需要的前导或尾随空格FOR /R
循环文件(递归子文件夹);注意参数名称%%G
并且%%g
区分大小写~
参数扩展(修饰符)SETLOCAL
命令if
等for
)样本输出。制作了一些子文件夹,每个 cca 20 个文件,其中两个是一些零大小(以字节为单位)的文件(模拟错误的副本):