在 Windows 中,“type nul > somefile”对“somefile”有什么作用?

wes*_*wes 12 windows batch overwrite

具体来说,是否type nul > somefile覆盖磁盘上的整个文件?我看到一个批处理脚本网站建议动态生成一个 FTP 脚本,然后使用标题中的命令“安全地”擦除它。这有什么可取之处吗?

use*_*686 11

在 Windows 中,“type nul > somefile”对“somefile”有什么作用?

  1. 首先,somefile为写入而打开——这会自动导致文件被截断为 0 字节。数据仍然保留在磁盘上,只是在位图中标记为“空闲”

  2. 然后将 的内容nul写入somefile- 在这种情况下,正好是零字节,因为您无法从nul. 旧数据不会被覆盖。

  3. 文件已关闭。

我看到一个批处理脚本网站建议动态生成一个 FTP 脚本,然后使用标题中的命令“安全地”擦除它。这有什么可取之处吗?

它并不比del somefile. 它甚至不会从磁盘中删除数据。

要安全地擦除文件,请使用擦除实用程序,例如sdeleteEraser。虽然,FTP 脚本实际上值得安全擦除吗?

  • @wes:如果您无法确保机器的物理和操作系统安全以防止恢复所述脚本,那么您同样无法确保 FTP 流量不被嗅探......但有一些建议。切换到更安全的协议 - SFTP 或至少 FTP/TLS。此外,为包含密码的文件(脚本或客户端的配置文件)创建一个单独的目录,并为其启用 EFS 加密。里面的所有新文件都会在操作系统级别自动加密。这两种协议也都支持公钥身份验证作为替代方案。 (2认同)