
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"