0

我想将具有DateTime格式的文件夹复制到名为 Weekday 的文件夹中。文件夹 D:\TEST\2015-06-23T2300+0000 应复制到 D:\TEST\Thursday。

Get-ChildItem $Path | Select FullName
D:\TEST\2015-06-23T2300+0000                                                                            
D:\TEST\2016-01-07T2300+0000                          

Get-ChildItem $Path | ForEach {$_.LastWriteTime.DayOfWeek}
Thursday
Friday

这是我现在有的代码,但它不起作用。我错过了一些东西。

$Path = "D:\TEST"
$source = Get-ChildItem $Path | Select FullName
$dest = Get-ChildItem $Path | ForEach {$_.LastWriteTime.DayOfWeek}
  foreach ($source in $sources)
    {
    Copy-Item -Path $source -Destination "D:\TEST2\$dest" -Recurse
    }

欢迎任何帮助。

4

2 回答 2

1

您正在填充$dest所有可能的工作日值。

当您浏览它们并复制时,按项目检索工作日:

$Sources = Get-ChildItem $Path
foreach($Source in $Sources)
{
    $Weekday = $Source.LastWriteTime.DayOfWeek
    $Destination = "D:\Test\$Weekday"

    Copy-Item $Source.FullName -Destination $Destination -Recurse    
}
于 2016-01-15T16:17:27.213 回答
0

试试这段代码,它正在工作,我已经测试过:

$Dir = "c:\files"
$Items = Get-ChildItem -Path $Dir
foreach ($Item in $Items)
{
    if (!($Item -is [System.IO.DirectoryInfo]))
    {
        Copy-Item -Path $Item.FullName -Destination .\Desktop\$($Item.LastAccessTime.DayOfWeek)
    }
}
  • 这个目录 c:\files 应该有一个子目录 foreach day of week。
于 2016-01-15T16:25:03.797 回答