2012-06-29 31 views
0

需要此腳本的一些幫助。poweshell複製文件

我有一個web.config文件,我需要將遞歸複製到100個文件夾和子文件夾,但僅限於該文件夾包含ASPX文件。

謝謝 波多黎各

+1

你停在哪裏?獲取目錄樹?檢查一個目錄是否包含aspx文件?將web.config複製到另一個位置?總之:**你嘗試了什麼?** –

+0

我試過這個,但我無法弄清楚如何驗證如果aspx文件存在。 $ source =「C:\ scripts」 $ destination =「C:\ WWW \ EM_Webserver」 get-childitem -recurse -path $ source -include'web.config'| foreach {$ dir = $ destination +(split-path $ _。DirectoryName -NoQualifier) New-Item $ dir -itemtype directory -force copy-item $ _- destination $ dir }是否有更簡單的方法可以做到我擁有的?? – Unreal1969

+0

@ Unreal1959可以使用Test-Path cmdlet。它接受一個通配符,如* .aspx –

回答

0

試試這個代碼,但替換C:與自己的文件夾路徑\ rootfolder。另外,您需要更新對web.config文件的引用。

$FoldersToCopyTo = Get-ChildItem -Path c:\rootfolder -Recurse | ? { $_ -is [System.IO.DirectoryInfo] }; 

foreach ($Folder in $FoldersToCopyTo) { 
    if (Get-ChildItem -Path $Folder.FullName -Filter *.aspxx) { 
     Write-Host -Object 'copying item', $folder.fullname; 
     Copy-Item -Path c:\web.config -Destination ($folder.FullName); 
    } 
} 
+0

謝謝大家,它完美的工作...... – Unreal1969