Nazwa tworzonego pliku

0

Witam!
Mam pewien problem z nazwą tworzonego przeze mnie pliku w c#

Kod wykonujący tą część obecnie wygląda tak:

string nameFile = thisDay.ToString("g");
var myFile = File.Create(Environment.CurrentDirectory + nameFile);

Lecz rzuca to błędem z wiadomych powodów a mianowicie, nie pasuje mu to nameFile. Chciałbym zapytać czy da się do jakoś przerobić aby za nazwę pliku brał on moją zmienną ?

1

Nie możesz mieć : w nazwie pliku w windowsie.
A tutaj cała lista:

< (less than)

(greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)

  • (asterisk)
0

W sumie racja :D, nawet na to nie wpadłem, myślałem że po prostu czepia się o strukturę, czy da się w takim razie przerobić to aby zamiast : robił np. -.

Edit:
Problem rozwiązany zrobiłem takie coś:

        MessageBox.Show(thisDay.ToString("dd.MM.yyyy HH-mm-ss"));
        System.Diagnostics.Process.Start(@"D:\VirtualBox\VirtualBox.exe");

teraz tylko muszę wymyślić dlaczego w HH-mm-ss mam cały czas 00-00-00

0

Tak naprawdę masz dwa nie dozwolone znaki przy g bo : jak i /.
Możesz samemu ustalić co chcesz np.:

string nameFile = thisDay.ToString("dd-MM-yyyy HH-mm");

Tutaj masz wykaz wszystkich znaczników: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

Pro100pdg napisał(a):

HH-mm-ss mam cały czas 00-00-00

Pewnie jak tworzysz thisDay to nie podajesz godziny ani minut, ale to tylko domysły.

0

Poprawione, rzeczywiście nie pobierałem godziny tylko samą datę.
Lina tworząca nazwę wyrzuca błąd "Format podanej ścieżki nie jest obsługiwany." także coś mu ze składnią nie pasuje.

0

Environment.CurrentDirectory nie zwraca \ na końcu.

0

File.Create(Environment.CurrentDirectory + "\" + nameFile + ".txt");

Dobra problem rozwiązany, powyżej rozwiązanie :).
Dziękuję bardzo za pomoc :) Temat uważam za rozwiązany także do zamknięcia.

0

To musisz mieć błąd gdzieś indziej, takie coś działa:

string nameFile = DateTime.Now.ToString("dd.MM.yyyy HH-mm-ss");
File.Create(Environment.CurrentDirectory + "\\" + nameFile + ".txt");

A poza tym jaki masz błąd? W który miejscu występuje?

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