通过 PowerShell 更改上次修改日期或时间

Jac*_*ack 31 powershell

是否可以通过 PowerShell 更改文件或文件夹的上次修改日期/时间?

我有一个文件夹folder1/,我想通过 PowerShell 更改该文件夹的最后修改日期和时间及其内容。

EBG*_*een 33

获取文件对象然后设置属性:

$file = Get-Item C:\Path\TO\File.txt
$file.LastWriteTime = (Get-Date)
Run Code Online (Sandbox Code Playgroud)

或文件夹:

$folder = Get-Item C:\folder1
$folder.LastWriteTime = (Get-Date)
Run Code Online (Sandbox Code Playgroud)

  • 这可以在一行中完成,如 `(Get-Item C:\Path\To\File.txt).LastWriteTime = (Get-Date)` (3认同)

小智 17

这里解释的以下方法对我有用。所以我使用了:

Get-ChildItem  C:\testFile1.txt | % {$_.LastWriteTime = '01/11/2005 06:01:36'}
Run Code Online (Sandbox Code Playgroud)

不要被“get-*”命令弄糊涂了……不管它是get而不是write还是什么,它都会工作。还要注意源代码中所写的,您需要使用您配置的数据格式,而可能不是我上面示例中的格式。


小智 9

是的,可以更改上次修改日期。这是一个单班轮的例子

powershell foreach($file in Get-ChildItem folder1) {$(Get-Item $file.Fullname).lastwritetime=$(Get-Date).AddHours(-5)}
Run Code Online (Sandbox Code Playgroud)


Phi*_*ppe 9

要在 powershell 中对所有文件执行某种 unix 操作touch

\n
(Get-ChildItem -Path . \xe2\x80\x93File \xe2\x80\x93Recurse) | % {$_.LastWriteTime = (Get-Date)}\n
Run Code Online (Sandbox Code Playgroud)\n

或所有文件和文件夹:

\n
(Get-ChildItem -Path . \xe2\x80\x93Recurse) | % {$_.LastWriteTime = (Get-Date)}\n
Run Code Online (Sandbox Code Playgroud)\n