private async Task <bool> DeleteRedirectFileAsync(string packageName) { var packageDir = commandDirectory.GetDirectoryForPackage(packageName); if (!Directory.Exists(packageDir)) { WriteLine($"Package {packageName} is not installed."); return(false); } var packageDirs = Directory.EnumerateDirectories(packageDir); foreach (var packageAndVersionDir in packageDirs) { var packageInfo = await PackageInfo.GetMainFilePathAsync(packageName, packageAndVersionDir); if (packageInfo == null || !packageInfo.Commands.Any()) { return(true); } foreach (var command in packageInfo.Commands) { var binFile = commandDirectory.GetBinFile(command.Name + (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".cmd" : "")); try { if (File.Exists(binFile)) { WriteLineIfVerbose($"Deleting bin file '{binFile}'."); File.Delete(binFile); } else { WriteLineIfVerbose($"Bin file '{binFile}' does not exist."); } } catch (Exception ex) { WriteLine($"Could not delete bin file '{binFile}'."); WriteLineIfVerbose(ex.ToString()); return(false); } } } return(true); }