GeirGrusom Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 jeg tenkte noe slikt som C:\...\...\...\...\Hei.txt Lenke til kommentar
Degeim Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 (endret) Ah, en smule enklere! Jeg prøvde meg på denne String.Split, men vanskelig å finne ut noe om den når IDE'n min ikke sier noe om den engang. Men jeg tviler på at jeg hadde fått den til uansett... EDIT: Oj! Fungerer perfecto også! Nydelig! Nå må jeg bare sette meg ned og se om jeg forstår hva den koden egentlig gjør... IO.Path.GetPathRoot(File) & "...\" & IO.Path.GetFileName(File) Hvordan kan egentlig denne kutte ned på filbanen da? Jeg skjønner ikke helt det. Hvorfor blir det ikke bare "hele filbanen + "...\" + "filnavn"? 9071685[/snapback] Fordi IO.Path.GetPathRoot får (get) PathRoot, som er disken (feks "C:\"), mens IO.Path.GetFileName får (get) FileName, som betyr filnavn. Altså sitter vi med disk, "..." og filnavn. Skjønner hva du tenkte, Geir, men det bryr vi oss ikke om i første omgang, tror jeg Endret 14. juli 2007 av Degeim Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 Åja! Selvfølgelig! For dette er jo ikke det samme som jeg brukte tidligere, som gav hele stien til filen! Da er jeg med! Takk! Og det fungerer utmerket også! Lenke til kommentar
ze5400 Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 jeg tenkte noe slikt somC:\...\...\...\...\Hei.txt 9071795[/snapback] Samma her Skjønner hva du tenkte, Geir, men det bryr vi oss ikke om i første omgang, tror jeg 9071823[/snapback] Gledesdreper Lenke til kommentar
ze5400 Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 (endret) Jeg skrev likegodt en kode til det jeg mente. Kan sikkert gjøres på mer effektive måter, men skitt au Klikk for å se/fjerne innholdet nedenfor Module Main Sub Main() ' Opprett variablen som inneholder banen, og gi den en verdi Dim Path As String = "C:\Programmer\Lol\Lol.exe" ' Opprett variablen som skal inneholde den nye stringen Dim NewString As String = "" ' Opprett ett array som skal holde hver bit av banen. Fyll TMP med bitene Dim TMP() As String = Path.Split("\") ' Opprett en teller som skal holde styr på om det er stastjonsbokstaven, fila eller banen vi håndtere Dim Counter As Integer = 0 ' Looper gjennon TMP, oppretter og setter Str til For Each Str As String In TMP ' Sjekker om vi er på stasjonsbokstaven eller fila If Counter = 0 Or Counter = (TMP.Length - 1) Then ' Legger til \ og Str til NewString NewString += "\" + Str ' Vi er på banen Else ' Legger til \.. til NewString NewString += "\.." End If ' Legg til 1 på telleren vår Counter += 1 ' Gjennta loopen Next ' Fjern "\" som har havnet i begynnelsen av NewString NewString = NewString.Remove(0, 1) ' Skriv NewString til sjermen Console.WriteLine(NewString) ' Vent med å avslutt til vi trykker en tast Console.ReadKey() End Sub End Module Og siden jeg regner med du ikke hadde spurt om det var greit, dersom du skulle komme til å COPY/PASTE dette AnaXyd, det er greit Endret 14. juli 2007 av ze5400 Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 (endret) Hehe.. Okay.. Jeg får se hvilken funksjon jeg får bruk for! Takk uansett! Men, hvis jeg da skal slette alle filene på f.eks stasjon G:/. Kan jeg bruke noe av den samme koden, bare få den til å slette istedet? Er det mulig? Endret 14. juli 2007 av AnaXyd Lenke til kommentar
ze5400 Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 (endret) Slik? Dim Folders() As String = System.IO.Directory.GetDirectories("G:\") Dim Files() As String = System.IO.Directory.GetFiles("G:\") For Each Folder As String In Folders System.IO.Directory.Delete(Folder) Next For Each File As String In Files System.IO.File.Delete(File) Next Endret 14. juli 2007 av ze5400 Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 Oj! Det var ikke værre nei? Dreiv på og skrev om den koden aadnk har kommet opp med. Bare satte den til å slette istedet. Men har en viss følelse av at det ikke hadde blitt noe særlig... Takk! Skal testes! Lenke til kommentar
ze5400 Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 Si ifra om det virker da For jeg har ikke testa Var ikke veldig lysten til å teste det på C: ^^ Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 Det funket ikke... Det kom en error om at "Mappen er ikke tom" Ja, tilog med på norsk?! Hadde vært kjipt om den hadde tatt hele C:/ ja.. Lenke til kommentar
Degeim Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 (endret) Bytt om rekkefølgen. Slett filene først, så mappene. EDIT: Dersom du gjør som ze5400 sier under, tipper jeg du får feilmeldingen "File does not exist" ved sletting av alle filene. Så husk å fjerne loopen for sletting av filer dersom du gjør det slik. Kanskje går det da an å enkelt og greit skrive System.IO.Directory.Delete("G:\",True)? Jeg har av åpenbare grunner ikke testet den koden. Endret 14. juli 2007 av Degeim Lenke til kommentar
ze5400 Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 Erstatt System.IO.Directory.Delete(Folder) med System.IO.Directory.Delete(Folder, True) Lenke til kommentar
GeirGrusom Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 (endret) I likhet med rd, må alle filer i mappen slettes før mappen kan slettes. For å unngå dette, sett andre parameter til true (recursive) edit: for treg Endret 14. juli 2007 av GeirGrusom Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 Jepp det fungerte som bare pokker! Blir det mye styr med en progressbar til den der da? Lenke til kommentar
ze5400 Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 Neida, tenk litt selv da Finn antall filer og mapper på rota. Så bruker du enkel matematikk til å regne det ut Det klarer du selv Lenke til kommentar
Degeim Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 (endret) Da foreslår jeg at du forsøker litt selv. Du vet hvordan du kan lage liste over alle filene (du bør bruke den første metoden, med mitt forslag til ombytting av rekkefølgen), og dermed også hvordan du kan telle dem. Og du vet hvordan du kan slette dem, og da skulle ikke progressbar være noe problem om du prøver litt. EDIT: Se bare hvordan både jeg og ze5400 er enige Endret 14. juli 2007 av Degeim Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 Okay! Da skal jeg se hva jeg får til! Skal jeg lage en ny funksjon som er ganske lik ze5400's, eller legge til noe i den gamle? Må bare vite dette.. Lenke til kommentar
Degeim Skrevet 14. juli 2007 Del Skrevet 14. juli 2007 Det gjør du som du vil med. Du trenger jo bare liste, telle og slette, så noe særlig avansert er ikke nødvendig. Jeg ville lagd en ny kode _helt_ fra bunnen av om jeg var deg, så lærer du litt. Lenke til kommentar
AnaXyd Skrevet 14. juli 2007 Forfatter Del Skrevet 14. juli 2007 (endret) Er jeg på sporet til noe her da?: Dim Folders() As String = System.IO.Directory.GetDirectories(My.Settings.PSP_DriveLetter) Dim Files() As String = System.IO.Directory.GetFiles(My.Settings.PSP_DriveLetter) Dim count As Integer = 0 For Each File As String In Files count += 1 Next End Sub Endret 14. juli 2007 av AnaXyd Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå