I was needing to solve a similar problem, and I found this groovy sample for copying all the jobs in a view.
import hudson.model.*
def viewName = "product-build-dev"
def search = "-dev"
def replace = "-prod"
def view = Hudson.instance.getView(viewName)
/* now you copy all jobs of the view copy all projects of a view */
for(item in view.getItems()) {
/* create the new project name */
newName = item.getName().replace(search , replace)
/* now copy the job */
def job = Hudson.instance.copy(item, newName)
job.save()
}
I just realized I didn't answer the whole question. Looking...