2017-06-07 10 views
0

ソースフォルダ(c:\ test *)があり、そのフォルダを同じ場所(c:\ resultaat)のすべてのフォルダにコピーします。 demo_profitという名前が格納されているフォルダ内のフォルダのみに表示されます。特定の名前の複数のフォルダにすべてのファイルとフォルダをコピーする

私はほとんどそこにいると思っていますが、私は思ったほど小さい部分がありません。あなたの助け

+0

複数の宛先が存在するため、ループが必要になると思います。 '$ destination |'の2行目のようなものです。 foreach-object {copy-item c:\ test \ * $ _ -recurse -force} ' – TessellatingHeckler

答えて

0

は、Get-ChildItemコマンドレットの-Directoryパラメータの

$destination = get-item -include demo_profit* -path C:\resultaat\* 
copy-item C:\test\* $destination -recurse -force 

おかげで、あなたが入っているフォルダにファイルをコピーしたいのであれば、それは明らかではないが、私の知る限りPSV5に

Get-ChildItem -Directory -Path 'C:\resultaat\' | ForEach-Object{ 
    if (Test-Path (Join-Path $_.FullName 'demo_profit')){ 
    Copy-Item C:\test\* $_.FullName -recurse -force 
    } 
+1

' -Directory'スイッチがPowerShell v3.0に追加されました。 – TheMadTechnician

0

が必要ですdemo_profitという名前のアイテム、またはその名前のdemo_profitを含むフォルダに移動します。第二は簡単ですので、私はそこから始めましょう:

Get-ChildItem C:\resultaat\* -Directory | 
    Where{$_.Name -match 'demo_profit'} | 
    ForEach{ Copy-Item C:\test\* -dest $_.FullName -recurse -force } 

をC内の任意のフォルダを見つけた:\の名前の一部として「demo_profit」がresultaat、そのフォルダにコピーしたいファイル/フォルダを。例:C:\ resultaat \ Folder1_demo_profitには、C:\ tempのすべてのファイルがコピーされます。

demo_profitという名前のものを探していて、ファイルをその項目と同じフォルダにコピーする場合は、PSParentPathプロパティといくつかのワイルドカードを使用する必要があります。

Get-ChildItem c:\resultaat\*\*demo_profit* 

このコマンドは、次のようなパスを持つファイルやフォルダを見つけるだろう 'C:\ resultaat \アマゾン\ az_demo_profit'。ファイルをそのフォルダにコピーするには、PSParentPathプロパティを次のように使用します。

Get-ChildItem c:\resultaat\*\*demo_profit* | 
    Select -Expand PSParentPath -Unique 
    ForEach{ Copy-Item C:\test\* -dest $_ -recurse -force } 
関連する問題