Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用UWP将文件移动到其他文件夹_Uwp_Uwp Xaml - Fatal编程技术网

无法使用UWP将文件移动到其他文件夹

无法使用UWP将文件移动到其他文件夹,uwp,uwp-xaml,Uwp,Uwp Xaml,我已设置访问文档文件夹的权限 我能够访问存储在文档中的文件夹中的文件 我不明白为什么下面的代码不起作用 public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm) { try { string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel"; StorageFolder Buf

我已设置访问文档文件夹的权限

我能够访问存储在文档中的文件夹中的文件

我不明白为什么下面的代码不起作用

public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm)  
{
    try
    {
        string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel"; 

        StorageFolder Bufolder = await StorageFolder.GetFolderFromPathAsync(strPathTarget);

         var targetFile = await _subfdl.GetFileAsync(strfilenm);             

         await targetFile.CopyAsync(Bufolder, strfilenm, NameCollisionOption.ReplaceExisting);

         await targetFile.DeleteAsync(); 
    }
    catch (Exception ex)
    {

    }   

}
我已经手动创建了这个文件夹,现在我需要访问它并将旧文件移到这里

string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel"; 

您应该使用
KnownFolders.DocumentsLibrary
而不是
string strPathTarget=@“C:\Users\xxx user\Documents\MyTravel

像这样:

public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm) {
            try {
                StorageFolder Bufolder = await  KnownFolders.DocumentsLibrary.GetFolderAsync("MyTravel") ;
                var targetFile = await _subfolder.GetFileAsync(strfilenm);
                await targetFile.CopyAsync(Bufolder, strfilenm, NameCollisionOption.ReplaceExisting);

                await targetFile.DeleteAsync();

            } catch (Exception ex) {

            }

        }

当您访问目录中的文件时,不要忘记需要文件关联。请参阅。

什么是“不工作”意思?异常?如果是,它是什么?不能使用void,因为此方法是异步的:wait-StorageFolder.GetFolderFromPathAsync(strPathTarget)。因此,根本不是错误捕获。。你能在捕获行的结尾处设置一个断点并告诉我异常是什么吗?我试过了,它不会停在那里,它会跳过!我正在读取循环中出现的文件。当找到一个文件时,我使用上面的方法将其移动到其他文件夹。然后那里就没有异常了…设置断点是有意义的在这种情况下,返回到第一行并从那里开始。如果没有激活,则可能是代码没有执行,或者是您的安装程序有问题。此处出现错误:StorageFolder Bufolder=Wait KnownFolders.DocumentsLibrary.GetFolderAsync(“MyTravel”)当断点点击此处时,它跳过try语句并进入循环。此方法已执行,但无法捕获错误。Knowfolder方法有问题,我认为这是因为它是一个异步方法并引发异常。无论如何。为了KnowFolders正常工作,在Package.appxmanifest文件中需要两件事:创建一个capabil为documentsLibrary创建一个文件类型关联(如:),并至少创建一个文件类型关联(您可以在声明下的UI上执行此关联)。