C# 从Appdata复制.sav文件并将其放置在桌面上的文件夹中

C# 从Appdata复制.sav文件并将其放置在桌面上的文件夹中,c#,C#,能够从appdata复制.sav文件并将其放置在桌面上的文件夹中。这是一个我玩的游戏,让我和我的朋友更容易在桌面上保存文件,而不是去寻找它 如何在appdata部分中指定文件的位置,设置后,单击save并将文件放置在桌面上的文件夹中 我还没有尝试过任何东西,因为我不知道如何继续 @Sach建议使用以下代码,但我不知道如何实现代码 查找AppData和桌面文件夹: var appData=Environment.GetFolderPath(Environment.SpecialFolder.Ap

能够从appdata复制.sav文件并将其放置在桌面上的文件夹中。这是一个我玩的游戏,让我和我的朋友更容易在桌面上保存文件,而不是去寻找它

如何在appdata部分中指定文件的位置,设置后,单击save并将文件放置在桌面上的文件夹中

我还没有尝试过任何东西,因为我不知道如何继续

@Sach建议使用以下代码,但我不知道如何实现代码


查找AppData和桌面文件夹:
var appData=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var desktop=Environment.GetFolderPath(Environment.SpecialFolder.desktop);
移动文件有多种方法,这是其中之一:
if(Directory.Exists(appData)&&Directory.Exists(desktop))
{
var file=Path.Combine(appData,“1.txt”);
如果(File.Exists(File))
{
File.Move(File,Path.Combine(desktop,“1.txt”);
}
}

备份桌面上的保存文件。

希望这能解决您的问题, 如果你有任何其他问题,请随时问我

这是WPF项目 XAML:


正当当你试着编写代码时发生了什么?根据目的,你不喜欢解决编程问题。如果你只想复制文件,问进去更好。@shingo如果他想用代码进行复制,那么这是一个编码问题……这里的问题到底是什么?看起来您已经有了所需的代码,乍一看,它似乎与我将要编写的代码相似。@belosttweep。一点友善会让你走得更远。如果您以上面的方式响应,人们往往不会帮助您我以前从未使用过WPF,我创建了项目,将网格添加到表单中,并应用了代码。当我尝试添加上述代码时,代码已加载,但出现无效窗口。我不知道如何执行此操作。请提供图片或错误详细信息。我猜不出问题出在哪里,而且我在回答之前已经测试过。OK让我们从代码的第一部分开始,我打开表单并添加网格,然后转到代码并在2之间添加代码。一旦我这样做了,它就会显示在gui上,显示的部分看起来像3个按钮和2个文本框源文件和复制路径。所以我很确定我做对了,然后我转到MainWindow.xaml.cs文件,我想这就是代码的第二部分正确的地方?我不知道如何将代码的第二部分添加到表单中。只需将函数放在没有主方法和名称空间的地方。。。。
<Grid>
        <TextBox Name="txtSourceFile" HorizontalAlignment="Left" Height="21" Margin="11,23,0,0" TextWrapping="Wrap" IsEnabled="false" Text="" VerticalAlignment="Top" Width="442"/>
        <Button Margin="454,23,39,269" Content="..." Click="Button_Click" />
        <Label Content="SourceFile:" HorizontalAlignment="Left" Margin="10,-3,0,0" VerticalAlignment="Top"/>
        <TextBox Name="txtCopyPath" HorizontalAlignment="Left" Height="21" Margin="11,71,0,0" TextWrapping="Wrap" IsEnabled="false" Text="" VerticalAlignment="Top" Width="442"/>
        <Button Margin="453,71,40,221" Content="..." Click="Button_Click1" />
        <Label Content="Copy Path:" HorizontalAlignment="Left" Margin="10,45,0,0" VerticalAlignment="Top"/>
        <Button Margin="124,170,124,83" Content="Copy!" Click="Button_Click2" />
    </Grid>
using System;
using System.Windows;
using System.Windows.Forms;

namespace copy_file
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog();
                dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                dlg.Filter = ".sav Files (*.sav)|*.sav|All files (*.*)|*.*";
                DialogResult result = dlg.ShowDialog();
                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    txtSourceFile.Text = dlg.FileName;
                }
            }
            catch (Exception ex) { }
        }

        private void Button_Click1(object sender, RoutedEventArgs e)
        {
            try
            {
                FolderBrowserDialog dlg = new FolderBrowserDialog();
                dlg.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);             
                DialogResult result = dlg.ShowDialog();
                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    txtCopyPath.Text = dlg.SelectedPath;
                }
            }
            catch (Exception ex) { }           
        }

        private void Button_Click2(object sender, RoutedEventArgs e)
        {
            try
        {
            if(txtCopyPath.Text.Length>1 && txtSourceFile.Text.Length > 1)
            {                    
                string fName = System.IO.Path.GetFileName(txtSourceFile.Text);
                System.IO.File.Copy(txtSourceFile.Text, txtCopyPath.Text +"\\"+ fName, true);
                success = true;
            }
            System.Windows.MessageBox.Show("Info", success.ToString());
            success = false;
        }
            catch (Exception ex) { }
        }
    }
}