for-eachobject
ループで現在操作されているオブジェクトのパスを検索しようとしています。誰かがこれを行う方法を説明することはできますか?私はCopy-Item
のソースのパスを、ファイルがどのようなパスに設定しようとしています。これは私がPowershellで作業した最初のプロジェクトです。 $ Srcが正しくインスタンス化されていると仮定します。for-eachobjectループ内の現在のオブジェクトのパスを見つける方法
Get-ChildItem -Path $Src -Recurse -Force | Where-Object {$_.Name -notmatch "Archive" -and ($_.PSIsContainer)}|
ForEach-Object {
$DateStr = $_.BaseName.Substring(0,2)+'/'+$_.BaseName.Substring(3,2)+'/'+$_.BaseName.Substring(6,4)
$FileDate = get-date $DateStr
If ($FileDate -ge $Date -and !($_.PSIsContainer)) {
$ParentOjbect = $_.Directory
$Parent = $ParentOjbect.Name
Copy-Item -Path (Join-Path -Path $Src -ChildPath '\*.txt') #this
#needs to be corrected to only point to the current file
-Dest (Join-Path $Dst ("$($_.Directory.Name) $($_.Name)")) -WhatIf
}
}
ありがとう、それは今、まさに私がコードを実行したい、What-Ifによると、それは想定されているようにフォルダに何もポップアップしていません。それがどんなアイデアなのか? –
-whatifを削除しましたか? –