使用 C# Windows 10 iot core 将文件复制到 USB

Copy files to USB using C# Windows 10 iot core

我正在尝试复制在 Windows 10 iot core 的本地文件夹中创建的 .csv 文件。我尝试了几种方法但没有运气。我最新的代码如下:

string aqs = UsbDevice.GetDeviceSelector(0x045E, 0x0611);

        var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(aqs);
        UsbDevice usbDevice;

        try
        {
            if(myDevices == null)
            {
                return;
            }
            usbDevice = await UsbDevice.FromIdAsync(myDevices[0].Id);


            StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
            StorageFolder sourcef = await localFolder.CreateFolderAsync("My Data", CreationCollisionOption.OpenIfExists);
            IReadOnlyList<StorageFile> filel = await sourcef.GetFilesAsync();

            StorageFolder removableDevices = KnownFolders.RemovableDevices;
            //var externalDrives = await removableDevices.GetFoldersAsync();
            //var drive0 = externalDrives[0];

            //var destFolder = await removableDevices.CreateFolderAsync("My Data", CreationCollisionOption.GenerateUniqueName);

            foreach (StorageFile file in filel)
            {
                await file.CopyAsync(removableDevices);
            }
    }

在上面我得到一个例外:

usbDevice = await UsbDevice.FromIdAsync(myDevices[0].Id);

'myDevices[0].Id' 引发了 'System.ArgumentOutOfRangeException'

类型的异常

我试过检查它是否为 null 并且它不为 null。

这样做的目的基本上是将一些文本文件从本地文件夹复制到 USB 驱动器。

使用UsbDevice.GetDeviceSelector无法找到USB存储,Windows.Devices.Usb命名空间中的方法用于兼容ID为[=15=的有效WinUSB设备],但 USB 存储将不包含兼容 id.In 事实上,KnownFolders.RemovableDevices 足以访问设备。