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

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 には、曜日ごとにサブディレクトリが必要です。
于 2016-01-15T16:25:03.797 に答える