![特定の名前を持つすべてのサブフォルダーにファイルをコピーするにはどうすればよいですか?](https://rvso.com/image/1345294/%E7%89%B9%E5%AE%9A%E3%81%AE%E5%90%8D%E5%89%8D%E3%82%92%E6%8C%81%E3%81%A4%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B5%E3%83%96%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%83%BC%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
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 }
-Directory
PowerShell 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"