我想将文件的访问时间增加一定的小时数,例如12个小时。
我找到了一种使用Unxutils touch.exe
工具破解它的方法并手动计算新日期:
touch.exe -a -t MMDDhhmmCCYY my_file.txt
但是,我想自动将其自动化,而无需手动输入新日期。所以这是我的问题:
非常感谢!
答案 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)