增加文件的访问时间

时间:2013-12-08 21:08:41

标签: powershell batch-file

我想将文件的访问时间增加一定的小时数,例如12个小时。

我找到了一种使用Unxutils touch.exe工具破解它的方法并手动计算新日期:

touch.exe -a -t MMDDhhmmCCYY my_file.txt

但是,我想自动将其自动化,而无需手动输入新日期。所以这是我的问题:

  1. 如何在DOS中检索文件的访问时间?
  2. 如何增加它?
  3. 如何将它们放在一个脚本/批处理文件中?
  4. 或者有更好的方法吗?
  5. 非常感谢!

2 个答案:

答案 0 :(得分:3)

因为你已为Powershell标记了它:

$file = Get-ChildItem testfile.txt
$file.lastwritetime

$file.LastWriteTime = ($file.LastWriteTime).AddHours(12)
$file.LastWriteTime

Tuesday, November 19, 2013 5:27:18 PM
Wednesday, November 20, 2013 5:27:18 AM

答案 1 :(得分:1)

您可以使用此示例批量获取上次访问时间:

for /f %%A in ( ' dir /b /TA "c:\test.txt" ' ) do set accesstime=%%~tA
echo %accesstime%

但是为了正确地增加它,你将不得不做这样的事情: Adding to %TIME% variable in windows cmd script

并考虑跳日期等。

在powershell中,您可以读取和写入文件的LastAccessTime,如下所示:

$file = Get-Item "c:\test.txt"
$file.LastAccessTime = ($file.LastAccessTime).AddHours(12)