本帖最后由 523066680 于 2025-3-7 08:01 编辑
回复 523066680
历史上还未见ms自称那款产品是 ‘windows的可靠...’,但给 robocopy 赐了一顶 ...
...
aloha20200628 发表于 2025-3-6 20:56  | use Modern::Perl; | | use File::Slurp; | | STDOUT->autoflush(1); | | | | my $src = ".\\robo_test"; | | my $dst = "D:\\Temp\\robo_test"; | | my $fname = "fluid-soundfont.tar.gz"; | | my $target = "$dst\\$fname"; | | | | | | my $rawdata = read_file( "$src\\$fname", {binmode => ":raw"} ); | | substr( $rawdata, 10240, 4, "\x00\x00\x00\x00" ); | | write_file( $target, {binmode => ":raw"}, $rawdata ); | | | | | | system(qq(nircmd setfiletime "$src\\$fname" "06-06-2008 12:00:01" "06-06-2008 12:00:01" )); | | system(qq(nircmd setfiletime "$target" "06-06-2008 12:00:01" "06-06-2008 12:00:01" )); | | | | | | system(qq(robocopy /MIR "$src" "$dst" ));COPY |
问题复现,模拟硬盘部分区域写入为空的情况:
手动复制并创建目标文件,将内容的某一位置4个字节改为 \x00\x00\x00\x00,再将文件的创建时间和修改时间 设为一致,再次执行Robocopy,结果显示跳过该文件的复制。 |