私は、このコードをPowershellに適用して、名前に含まれる親ディレクトリを含む別のフォルダにファイルをコピーして名前を変更するためのnewbです:親ディレクトリのファイルをコピーして名前を変更する
オリジナル
originalfilename.txt
新しい名前
parentfolder originalfilename.txt
私はそれが動作しません。次のコードを使用してみてください。私は間違って何をしていますか?
$Root='C:\Users\Bart\Documents'
Get-ChildItem -Recurse |
ForEach-Object {
$ParentOjbect = $_.Directory
$Parent = $ParentOjbect.Name
Copy-item -Destination (Join-Path $Root ('{0}{1}{2}' -f $Parent, " ", $_.Name)) }
本当に変数がすでにインスタンス化されていると仮定し、仕事、コード更新この
についてのヘルプや専門知識をお願い申し上げ:
Get-ChildItem -Path $Source -Recurse -Force | Where-Object {$_.Name -notcontains "Archive"}|
ForEach-Object {
if(!$_.PSIsContainer){
$DateStr = $_.BaseName.Substring(0,2)+'/'+$_.BaseName.Substring(3,2)+'/'+$_.BaseName.Substring(6,4)
$FileDate = get-date $DateStr
If ($FileDate -ge $Date) {
Copy-Item -Path (Join-Path -Path $Src -ChildPath '\*') -Destination (Join-Path $Dst ("$($_.Directory.Name) $($_.Name)")) -WhatIf
#Dst is the same as $Root
}}
}
私はあなたが新しいユーザーであり、既にいくつかの投票を行った。それがあなたを落胆させないようにしてください。私たちは皆、時々ダウン投票します。 PowerShellでファイルをコピーすることについては、すでに多くの質問と回答があります。最初にこれらの質問と回答を調べるか、スクリプトを小さなタスクに分割して、まずコピー作業をしてから名前を変更してから、2つの概念をマージする方法を知っておくことをおすすめします。 –
アドバイスと励ましをありがとう。私は本当にPowershellに慣れていません。これは私の最初のプログラミングインターンシップでの2日目です。私はそれを念頭に置いておきます。 –
"*私はこのコードを持っていても動作しません*"というのは、シンタックスエラーから論理的な誤解まで、 "うまくいかない" "それは実行されますが、私が期待していることはしません"、すべて異なる修正を加え、あなたが見たいものと見たいものを見たいと言う必要があります。あなたのコードは「うまくいっていて動作しています。私は、 "Path"のプロンプトは、Copy-Itemがコピーされるべきものを知らないということを推測するつもりです。 '$ _ | 'をパイプする必要があります。 Copy-Item -Path $ _。FullName ... 'を指定します – TessellatingHeckler