特定の名前を持つすべてのサブフォルダーにファイルをコピーするにはどうすればよいですか?

特定の名前を持つすべてのサブフォルダーにファイルをコピーするにはどうすればよいですか?

SRED.txt というファイルと、何百ものサブフォルダを含むフォルダがあります。各フォルダには、この SRED.txt ファイルを保存する SRED という別のフォルダがあります。私がやりたいのは、各フォルダをループして、SRED.txt ファイルを対応する SRED フォルダにコピーすることです。

Powershell でこれを実現するにはどうすればよいでしょうか?

答え1

ディレクトリを再帰的に取得しSRED、各ディレクトリのファイルをコピーします。

dir  c:\Projects SRED -Recurse|
    where {$_.PSIsContainer}|
    foreach { copy C:\Path\To\SRED.txt $_.FullName }

-DirectoryPowerShell v3 の新しいパラメータを使用すると、次のようになります。

dir  c:\Projects SRED -Recurse -Directory|
    foreach { copy C:\Path\To\SRED.txt $_.FullName }

答え2

これには PS のようなものは必要ないと思います。コマンド プロンプト ウィンドウを開き、( を使用してcd) 最上位フォルダー (すべてのプロジェクト フォルダーを含む) に移動します。この最上位フォルダーに SRED.txt ファイルがあることを確認します。次に、次のコマンドを実行します。

for /f "delims=" %d in ('dir SRED /ad /b /s') do @xcopy SRED.txt "%d"

関連情報