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

Powershell脚本将文件从昨天复制到其他文件夹,powershell,Powershell,我想将test.csv从文件夹test1复制到test2,前提是该文件具有昨天的时间戳。我当前使用的代码不会复制我的文件并返回: 未复制…\Desktop\test1\test.csv $destinationfolder=“…\Desktop\test2” $EarliestModifiedTime=(获取日期).AddDays(-1) $Files=获取子项“…\Desktop\test1\test.csv”-文件 foreach($Files中的文件) { 如果($File.LastWri

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

未复制…\Desktop\test1\test.csv

$destinationfolder=“…\Desktop\test2”
$EarliestModifiedTime=(获取日期).AddDays(-1)
$Files=获取子项“…\Desktop\test1\test.csv”-文件
foreach($Files中的文件)
{
如果($File.LastWriteTime-gt$EarliestModifiedTime)
{
复制项目$File-目标$destinationfolder
写入主机“复制$File”
}
其他的
{
写入主机“不复制$File”
}
}
预期:仅当其时间戳是从昨天开始时才复制
test.csv


实际:未发生任何事件,并且未复制…\Desktop\test1\test.csv返回的是64位Windows 10。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"
    }
}

不确定是否值得删除这个问题,但我发现这对我很有用。在上面的评论中提到,
出现在我的路径中,只是为了让问题变得更短

$destinationfolder=“…\Desktop\test2”
$Files=获取子项“…\Desktop\test1\test.csv”-文件
foreach($Files中的文件)
{
if($File.LastWriteTime-gt(get date).AddDays(-1).ToString(“MM/dd/yyyy HH:MM:ss”))
{
复制项目$File-目标$destinationfolder
写入主机“复制$File”
}
其他的
{
写入主机“不复制$File”
}
}

只有一个文件可以匹配路径
。\Desktop\test1\test.csv
-您到底在循环什么?一两天前您使用批处理文件时遇到了相同类型的问题,使用多种脚本语言执行此操作的原因是什么。在我的测试环境中,它按预期工作,将其移动到服务器上返回的日期为date,返回的是'CScript'和其他内容。我被告知在Powershell中会更容易。路径“…\Desktop\test1\test.csv”有效吗?请尝试“%userprofile%\Desktop\test1\test.csv”是的,我刚刚添加了。。。缩短