Avatar billede strafenmacher Nybegynder
11. oktober 2003 - 21:19 Der er 7 kommentarer og
1 løsning

Ændre mappenavn

Hvordan ændrer man navnet på en eksisterende mappe (som i øvrigt indeholder billeder - "om det gør en forskel er jeg endnu ikke klar over !"). Jeg mener man skal anvende Directory-klassen, men kan ikke finde den/de metoder der skal anvendes til dette.

Hvis der også er andre klasser der kan klare problemet, er jeg naturligvis også interesseret i, at høre om disse.

Jeg ser frem til noget kvalificeret hjælp. På forhånd tak.
Avatar billede arne_v Ekspert
11. oktober 2003 - 21:22 #1
Directory.Move
Avatar billede strafenmacher Nybegynder
11. oktober 2003 - 21:24 #2
Den har jeg set, men den flytter bare mappen til en anden sti. Den ændrer ikke navnet !
Avatar billede arne_v Ekspert
11. oktober 2003 - 21:29 #3
Jeg laver lige et eksempel.
Avatar billede arne_v Ekspert
11. oktober 2003 - 21:31 #4
Lav directory C:\Z1

Kør følgende:

using System;
using System.IO;

class MainClass
{
    public static void Main(string[] args)
    {
        Directory.Move("C:\\Z1", "C:\\Z2");
    }
}

og voila ingen C:\Z1 men en C:\Z2 - det er et andet navn får et directory.

(du skrev ikke sprog men jeg håber C# er OK)
Avatar billede strafenmacher Nybegynder
11. oktober 2003 - 22:36 #5
Jeg har nu prøvet nedenstående kode. Det vil bare ikke fungere. Jeg tror ikke Directory.Move kan gøre det !
Prøv at checke koden ud (den er selvfølgelig kun et brudstykke af et større sammenhæng !).



void skiftKatalogNavn(Object HM, EventArgs e)
{
    Gallery klasseObjekt = new Gallery();              //Klasse-objekt

    string gammeltKat = gammeltKatalog.Text;            //Input fra textbox
    string nytKat = nytKatalogNavn.Text;                //Input fra textbox
    string GalleriPlacering = "Server.MapPath('\\Galleri\\'");
    string gammelsti = GalleriPlacering + gammeltKat;
    string nySti = GalleriPlacering + nytKat;

    DirectoryInfo dir = new DirectoryInfo(gammelSti);//Måske ikke nødvendig
   
    Directory.Move(gammelSti, nySti);
}
Avatar billede strafenmacher Nybegynder
11. oktober 2003 - 22:38 #6
Klasseobjektet i ovenstående kode skal ikke bruges til noget i dette tilfælde. Jeg nævner det lige for overskuelighedens skyld !
Avatar billede arne_v Ekspert
11. oktober 2003 - 23:26 #7
Det skal virke.

Jeg forstår ikke den linie her:

string GalleriPlacering = "Server.MapPath('\\Galleri\\'");

!?

(der må være noget der er tastet forkert)

Men prøv og skriv gammelSti og nySti ud lige før Move og se om
de er OK - de skal ende på directory uden backslash.
Avatar billede strafenmacher Nybegynder
12. oktober 2003 - 13:56 #8
Du har ret, -det skal virke-, og det gør det også nu. Som du skriver, har det sikkert været en tastefejl der var skyld i, at det ikke lykkedes første gang.
Ergo, man kan anvende Directory.Move, og det er noget nemmere på denne måde end hvad jeg ellers har set af diverse alternativer.

Tak for hjælpen. Arne V.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester