Two AWESOME articles have saved me en enormous amount of time and effort:
https://basic-ssrs.blogspot.com/2015/12/download-all-rdl-files-from.html
https://basic-ssrs.blogspot.com/2015/12/upload-multiple-rdl-files-from-local.html
They address the mass download, upload, and shared data source assignment for RDLs.
One thing I have spent hours researching in vain.
Referring to the articles, my first batch file (downloading the RDLs) contains the following execution line:
"C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\rs.exe" -s "http://SQL1\AN/ReportServer$AN" -i C:\SandBox\RDLStuff\DownloadRDLs\Download_all_RDL_files.rss -v rootPath="C:\SandBox\RDLStuff\RDL_Repository\"
The 2nd argument, "http://SQL1\COMPANY_A/ReportServer$COMPANY_A", is the culprit.
We have 30+ "companies" we service. All the companies that have their own SQL servers, have posed no problems as we either built them outright or built thri new ones and migrated their data over ... no problems ... many of the companies have 100+ RDL each ... the articles (above) have been a real time saver.
The problem is the manner in which my predicessor setup our "shared" SQL server. for example, the instances are:
SQL1\COMPANY_A
SQL1\COMPANY_B
SQL1\COMPANY_C
... and their respective ReportServices databases are:
ReportServer$COMPANY_A
ReportServer$COMPANY_B
ReportServer$COMPANY_C
As a "cover all the bases note", the individual companies reports are housed and accessed separately in/at (respectively):
//SQL1/Reports_Company_A
//SQL1/Reports_Company_B
//SQL1/Reports_Company_C
When I execute the batch, I get:
C:\SandBox\RDLStuff\DownloadRDLs>"E:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\rs.exe" -s "http://SQL1\COMPANY_A/ReportServer$COMPANY_A" -i C:\SandBox\RDLStuff\DownloadRDLs\Download_all_RDL_files.rss -v rootPath="C:\SandBox\RDLStuff\RDL_Repository\"
Could not connect to server: http://SQL1\COMPANY_A/ReportServer$COMPANY_A/ReportService2005.asmx
C:\SandBox\RDLStuff\DownloadRDLs>Pause
Press any key to continue . . .
I have tried every combination/makeup of URL with no luck. Again, when I run this with a typical SQL Server and use, for example, "http://TAX-SERVER/ReportServer", all is right with the world and it just works perfectly.
I believe, in some way, it's the "instance" not being able to be derived/diferentiated from the server name (SQL1) but I am out of guesses and completely brain-dead on this one.
$20 to the first person to come up with the accurate answer and share it with me ... is that ethical/allowed? ;-)