Well, essentially you need to put the four sub-folders into a List<string> which you can add to later, if needed.
You can then iterate though the list and perform the steps you're currently doing for a single folder on each sub-folder.
However, it looks to me like you should be doing this from the code which calls the addNewPKG method rather than from within the method itself, because you may need to return prematurely if there's an error for a particular sub-folder. You'd then need to pass the sub-folder as an argument to that method:
List<string> strSubFolders = new List<string>{"Cancel", "ED", "UI", "RCS"};
foreach (string strSubFolder in strSubFolders)
{
string packageId = addNewPKG(strSubfolder);
// do something with packageId
}
// ...
public String addNewPKG(String strSubFolder)
{
{
try
{
String packageId = "";
int intReviewFileCount = 0;
string Format_year = DateTime.Now.AddMonths(-1).ToString("yyyy");
string strMonth = DateTime.Now.AddMonths(-1).ToString("MMMM").ToUpper();
string Format_Date = "_" + strMonth.Substring(0, 3) + "_" + Format_year;
String filesaveLocation = null;
filesaveLocation = Path.Combine(ConfigurationSettings.AppSettings["tLocation"], Format_Date);
string strsubfilesaveLocation = Path.Combine(filesaveLocation, strSubFolder));
if (!Directory.Exists(strsubfilesaveLocation))
{
System.IO.Directory.CreateDirectory(strsubfilesaveLocation);
logging.Error("The location " + strsubfilesaveLocation + " does not exist for documents. ");
return packageId;
}
// etc
}