gpt4 book ai didi

azure - 如何在单个脚本中修改多个文件的文件创建时间

转载 作者:行者123 更新时间:2023-12-03 06:34:22 25 4
gpt4 key购买 nike

我被这个问题难住了。我正在将文件共享迁移到 SharePoint。出现错误,指出“不支持项目创建时间或修改时间”。不用担心,因为我找到了一个可以在 PowerShell 中编辑此内容的脚本:

cd "Directory"

Get-ChildItem -force | Select-Object Mode, Name, CreationTime, LastAccessTime, LastWriteTime | ft

$modifyfiles = Get-ChildItem -force | Where-Object {! $\_.PSIsContainer}
foreach($object in $modifyfiles)
{
$object.CreationTime=("1/3/2023 12:00:00")
$object.LastAccessTime=("1/3/2023 12:01:00")
$object.LastWritetime=("1/3/2023 12:02:00")
}

我的问题是如何运行它,这样我就不必每次都 cd 到每个新目录。我在不同的文件夹中有很多文件都需要编辑。我有需要更改的路径列表,我希望有一种方法可以“传递”这些路径或以某种方式循环运行此脚本。

最佳答案

假设您的文件夹列表如下所示,并且可以放置在单独的文本文件中:

C:\folderpath\folder1
C:\folderpath\folder2
C:\folderpath\folder3

然后你可以这样做:

get-content -Path "C:\folderpath\FileContainingFolderPaths.txt" | ForEach-Object {

$folderpath = $_

Get-ChildItem -Path $folderpath -force | Select-Object Mode, Name, CreationTime, LastAccessTime, LastWriteTime | ft

$modifyfiles = Get-ChildItem -Path $folderpath -force | Where-Object {! $\_.PSIsContainer}
foreach($object in $modifyfiles)
{
$object.CreationTime=("1/3/2023 12:00:00")
$object.LastAccessTime=("1/3/2023 12:01:00")
$object.LastWritetime=("1/3/2023 12:02:00")
}

}

此外,我还得就 $\_.PSIsContainer 向您提问,这是一个错误吗?我认为它应该是 $_.PSIsContainer 代替?

关于azure - 如何在单个脚本中修改多个文件的文件创建时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75027058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com