It would appear that you aren't specifying the name of the file when you are doing the move.
try changing the code to this:
if (Regex.IsMatch(file, batchRegex))
{
var fullPath = Path.Combine(pth, batchOnFileSystem);
var fullDestinationPath = Path.Combine(destination, batchOnFileSystem);
var attr = new FileInfo(fullPath);
try
{
File.Move(fullPath, fullDestinationPath);
isFound = true;
break;
}