【发布时间】:2014-11-24 07:37:53
【问题描述】:
我在我的 tcl/tk 项目中实现了一个功能,其中使用 fcopy 将文件从 Windows 机器传输到 VM。现在的问题是同一个文件被重复复制,这是完全没有必要的。
所以我必须检查目标文件夹中是否已经存在同名文件。如果是,那么在中止复制过程之前,我必须确保文件内容不匹配。我知道校验和可以用于此,但不知道如何在 TCL 中实现校验和匹配。请指导。
【问题讨论】:
我在我的 tcl/tk 项目中实现了一个功能,其中使用 fcopy 将文件从 Windows 机器传输到 VM。现在的问题是同一个文件被重复复制,这是完全没有必要的。
所以我必须检查目标文件夹中是否已经存在同名文件。如果是,那么在中止复制过程之前,我必须确保文件内容不匹配。我知道校验和可以用于此,但不知道如何在 TCL 中实现校验和匹配。请指导。
【问题讨论】:
md5 示例
md5.tcl
#!/usr/bin/tclsh
package require md5
set fp [open "md5.tcl" r]
set file_data [read $fp]
close $fp
set checksum [md5::md5 -hex $file_data]
puts $checksum
输出:
64F63E82282789ACB8F9271CBF35E8B5
【讨论】:
Tcllib 在 哈希、校验和和加密 部分中具有您(可能)需要的功能。例如checksum。
【讨论】:
【讨论】: