仅当文件具有昨天的时间戳记时,我要将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返回
答案 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"
}
}