我想在C#中获取可移动磁盘的列表。我想跳过本地驱动器。
因为我希望用户仅将文件保存在可移动磁盘中。

最佳答案

您需要为此方法引用System.IO

var driveList = DriveInfo.GetDrives();

foreach (DriveInfo drive in driveList)
{
    if (drive .DriveType == DriveType.Removable)
    {
    //Add to RemovableDrive list or whatever activity you want
    }
}

或对于LINQ粉丝:
var driveList = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Removable);

添加

至于保存部分,据我所知,我认为您不能使用SaveFileDialog来限制允许用户保存的位置,但是可以在显示SaveFileDialog后完成检查。
if(saveFileDialog.ShowDialog() == DialogResult.OK)
{
  if (CheckFilePathIsOfRemovableDisk(saveFileDialog.FileName) == true)
  {
  //carry on with save
  }
  else
  {
  MessageBox.Show("Must save to Removable Disk, location was not valid");
  }
}

或者

最好的选择是创建自己的“保存”对话框,其中包含一个树形 View ,仅显示可移动驱动器及其内容供用户保存!我会推荐这个选项。

希望这可以帮助

08-05 11:32