Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Powershell比较Last.Write.Time_Powershell_Lastmodifiedtime - Fatal编程技术网

如何使用Powershell比较Last.Write.Time

如何使用Powershell比较Last.Write.Time,powershell,lastmodifiedtime,Powershell,Lastmodifiedtime,我想写一个脚本,将文件合并到一个文件中,如果以后对它们进行了修改,那么这个脚本应该是一个目标。我的脚本如下所示: Function UnifyConfigs { param ( $destination = "C:\temp\all.txt", [Parameter()] $files ) foreach ($config in $files) { If((Get-ChildItem $config ).LastWriteTime -gt (Get-Item $de

我想写一个脚本,将文件合并到一个文件中,如果以后对它们进行了修改,那么这个脚本应该是一个目标。我的脚本如下所示:

Function UnifyConfigs { param ( $destination = "C:\temp\all.txt", [Parameter()] $files )

foreach ($config in $files) {
    If((Get-ChildItem $config ).LastWriteTime -gt (Get-Item $destination).LastWriteTime)
    {
        Clear-Content -path $destination
        Set-Content -path $destination -value (Get-Content $config) 
    }
    else {
        break
    }  
}
}

我的主要问题是$destination文件总是被修改。据我所知,只有当$config的修改日期大于$destination的修改日期时,才应该更改它。但现在,每次运行脚本时,它都会被覆盖。有什么问题吗?

$destination
块中定义的
param
是一个字符串-您需要解析文件系统提供程序中的相应项,以获取
LastWriteTime
值-此处使用:


($destination).LastWriteTime
->
(获取项目$destination)。LastWriteTime
Mathias,我根据您的建议编辑了代码,谢谢!非常感谢,但是你能更具体一点吗?我该怎么做?我是否应该将其转换为日期,然后进行比较?或者?@Patrycja查看我答案中的示例代码-
Get Item
将返回带有
LastWriteTime的
FileInfo
对象attribute@Patrycja这很好:-D如果我的答案解决了你的问题,请考虑将它标记为“接受”,点击左边的复选标记:
if((Get-Item $config).LastWriteTime -gt (Get-Item $destination).LastWriteTime)
{
    # ...
}