Powershell脚本将文件从昨天复制到其他文件夹

时间:2019-11-26 14:05:42

标签: powershell

仅当文件具有昨天的时间戳记时,我要将test.csv从文件夹test1复制到test2。我当前使用的代码不会复制我的文件并返回:

  

不复制... \ Desktop \ test1 \ test.csv

$DestingationFolder = "...\Desktop\test2"
$EarliestModifiedTime = (Get-date).AddDays(-1)
$Files = Get-ChildItem "...\Desktop\test1\test.csv" -File
foreach ($File in $Files) 
{
    if ($File.LastWriteTime -gt $EarliestModifiedTime)
    {
        Copy-Item $File -Destination $DestingationFolder
        Write-Host "Copying $File"
    }
    else 
    {
        Write-Host "Not copying $File"
    }
}

预期:仅在时间戳记是昨天之前复制test.csv

实际:什么也没发生,并且得到“未复制... \ Desktop \ test1 \ test.csv返回

2 个答案:

答案 0 :(得分:0)

Windows 10 64位。 PowerShell 5

您拼写了DestinationFolder拼写错误,却忘记了创建文件夹%userprofile%\ Desktop \ test2

$DestinationFolder = "%userprofile%\Desktop\test2"
If(!(test-path $DestinationFolder))
{
      New-Item -ItemType Directory -Force -Path $DestinationFolder
}
$EarliestModifiedTime = (Get-date).AddDays(-1)
$Files = Get-ChildItem "%userprofile%\Desktop\test1\test.csv" -File
foreach ($File in $Files) 
{
    if ($File.LastWriteTime -gt $EarliestModifiedTime)
    {
        Copy-Item $File -Destination $DestinationFolder
        Write-Host "Copying $File"
    }
    else 
    {
        Write-Host "Not copying $File"
    }
}

答案 1 :(得分:0)

不确定是否值得删除问题,但发现这对我有用。在上面的评论中提到的...只是为了使它们简短一些。

$DestingationFolder = "...\Desktop\test2"
$Files = Get-ChildItem "...\Desktop\test1\test.csv" -File
foreach ($File in $Files) 
{
    if ($File.LastWriteTime -gt (get-date).AddDays(-1).ToString("MM/dd/yyyy HH:mm:ss"))
    {
        Copy-Item $File -Destination $DestingationFolder
        Write-Host "Copying $File"
    }
    else 
    {
        Write-Host "Not copying $File"
    }
}