Windows 中与 Linux 命令‘touch’ 对应的命令是什么?

Windows 中与 Linux 命令‘touch’ 对应的命令是什么?

当您想要更新 Windows 上文件的修改日期字段时,您会使用什么?

  1. 命令可通过 C++、.NET、C# 或 Windows 原生程序(最好是 Vista)访问
  2. 工具/应用程序最好是免费的,如果可能的话也可以开源

编辑:正如 CheapScotsman 指出的那样,已经有一个申请页面这里

如果有人知道我如何通过 C++、C# 做到这一点,韦斯霍尔或者类似的东西,很好,否则我会认为其他一切都已在链接问题中涵盖。

答案1

如果要使用 Windows 触摸文件的日期戳,请在命令提示符下使用以下命令:

copy /b filename.ext +,,

filename.ext您的文件名在哪里)。这+,,是一个特殊的标志,copy告诉它简单地更新文件的日期/时间

* 更改文件的时间和日期

如果要将当前时间和日期分配给文件而不修改该文件,请使用以下语法:

copy /b Source+,,

逗号表示省略了 Destination 参数。

根据 Lumi 和 Justin 的评论进行编辑:将其放入批处理文件中,例如。触摸命令

@COPY /B %1+,, %1

即使文件不在当前目录中,这也有效(在 Windows 7 上测试)。

答案2

我用过并推荐工具它们是许多常见 Unix 实用程序的原生 Win32 端口。touch里面有一个命令。

答案3

如果您想要的只是更改文件的最后修改日期(这是我的情况):

C:\> powershell  (ls your-file-name-here).LastWriteTime = Get-Date

答案4

@dash-tom-bang:

以下是 Technet 对神秘的“+”和逗号的解释:

copy /b Source+,,

逗号表示省略了 Destination 参数。

copy 命令支持将多个文件合并为一个目标文件。由于无法在命令提示符下使用空格字符指定空白目标,因此可以使用两个逗号来表示。

这是Technet的复制命令参考:http://technet.microsoft.com/en-us/library/bb490886.aspx

相关内容