Przenoszenie pliku

0

Witam. Mam problem z przenoszeniem pliku w Visual Studio 2015 C#

Chcę to zrobić żeby działało to tak:

Mam okno w którym wybieram aplikacje.exe i chcę zrobić tak, że z folderu X do folderu w którym wybrałem aplikacje.exe przenoszony jest plik Y.

Kod z Visual

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            {
                OpenFileDialog okienko = new OpenFileDialog();
                okienko.Filter = "cstrike.exe lub hl.exe|*.exe";
                if (okienko.ShowDialog() == DialogResult.OK)
                {
                    MessageBox.Show("Wybrano plik: " + okienko.FileName);
                }
            }
        }

    }
} 

Kod, który trzeba użyć (tak mówi microsoft :D)

 / Simple synchronous file move operations with no user interface. 
public class SimpleFileMove
{
    static void Main()
    {
        string sourceFile = @"C:\Users\Public\public\test.txt";
        string destinationFile = @"C:\Users\Public\private\test.txt";

        // To move a file or folder to a new location:
        System.IO.File.Move(sourceFile, destinationFile);

        // To move an entire directory. To programmatically modify or combine 
        // path strings, use the System.IO.Path class.
        System.IO.Directory.Move(@"C:\Users\Public\public\test\", @"C:\Users\Public\private");
    }
}
1

Nie rozumiem czego nie rozumiesz.

okienko zwroci Ci sciezke wybranego pliku podstaw ja do metody podanej przez Microsoft.

Tylko jak dobrze zrozumialem nie chcesz przenosic wybranego pliku tylko go zastapic, wiec musisz odwrocic proces, source file bedzie static a za destination file uzyj okienko.FileName

0

Chcę go zwyczajnie przenieść z folderu X do Y. Problem w tym, że jak to połączyłem to nie było błędu ale nie zadziałało.. I chcę żeby to działało w tle - niewidoczne dla użytkownika

0

folderu X do folderu w którym wybrałem aplikacje.exe przenoszony jest plik Y.

do konca nie okresliles co to jest folder x i folder y, opisales tylko folder x i plik y.

Poza tym wszystko masz juz napisane w swoim poscie powyzej.

0

No to jeszcze raz :D

Chcę przenieść plik plik1.exe z folderu nowyfolder1 do folderu nowyfolder2 :)

0

no to jeszcze raz:

 
        string sourceFile = @"C:\plik1";
        string destinationFile = okienko.FileName;

i podstaw do kodu MS

0

OK dzieki dzieki, jeszcze tylko 1.

Wywala mi błąd, że są już 2 funkcje Main. Jak usunę tę w kodzie MS to coś się stanie? ( Main() )

0

widze ze chyba musisz wrocic do podstaw programowania w C#

main moze byc tylko 1.

zrob nowa funkcje np

 
    private void przeniesPlik(string destinationFile)
    {
        string sourceFile = @"C:\plik1";
 
        // To move a file or folder to a new location:
        System.IO.File.Move(sourceFile, destinationFile);
    }

i uzyj ja przy Buttonie, tyle chyba wiesz jak zrobic?

0

Zrobiłem tak:

{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            {
                OpenFileDialog okienko = new OpenFileDialog();
                okienko.Filter = "cstrike.exe lub hl.exe|*.exe";
                if (okienko.ShowDialog() == DialogResult.OK)
                {
                    MessageBox.Show("Wybrano plik: " + okienko.FileName);
                }
            }
        }



public class przenoszeniePlikow
        {
            static void Main()
            {
                string sourceFile = @"%tmp%\gg\opengl32.dll";
                string destinationFile = okienko.FileName;

                System.IO.File.Move(sourceFile, destinationFile);

i jest error:

Severity Code Description Project File Line
Error CS0103 The name 'okienko' does not exist in the current context

0

Nie wrócić tylko się nauczyć :D

Nie umiem wgl. tylko z poradników się ucze

0
 
        private void button1_Click(object sender, EventArgs e)
        {
            {
                OpenFileDialog okienko = new OpenFileDialog();
                okienko.Filter = "cstrike.exe lub hl.exe|*.exe";
                if (okienko.ShowDialog() == DialogResult.OK)
                {
                    MessageBox.Show("Wybrano plik: " + okienko.FileName);
                }
                przeniesPlik(okienko.Filename);
            }
        }

   private void przeniesPlik(string destinationFile)
    {
        string sourceFile = @"C:\plik1";
 
        // To move a file or folder to a new location:
        System.IO.File.Move(sourceFile, destinationFile);
    }

a ta metode to zrobiles w ogole usun

bo okienko to zmienna lokalna a nie globalna, czyli nie widoczna przez inne metody oprocz tej, w ktorej zostaje stworzona.
Zrob kurs, nikt nie bedzie robil kodow za ciebie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1