Avatar billede force_master Praktikant
03. februar 2013 - 21:03 Der er 12 kommentarer og
1 løsning

Mellemrum i filnavne

Hej,
For i = 0 To ListBox2.Items.Count - 1
            xx = ListBox2.Items.Item(i)
           
            strCommand = "TxtRar.Text" & " " & "a" & " " & "TxtGem.Text" & " " & "xx"

            Dim aroras As Process = Process.Start(strCommand)
            aroras.WaitForExit()

Hvis der er lange filnavne med mellemrum i strcommand, virker det ikke.
Hvordan får man Process.start til at acceptere filnavne med mellemrum ?
Avatar billede arne_v Ekspert
03. februar 2013 - 21:08 #1
"" omkring
Avatar billede arne_v Ekspert
03. februar 2013 - 21:09 #2
Eks.:

Process.Start("cmd /c copy ""f o o.txt"" ""b a r.txt""")
Avatar billede force_master Praktikant
03. februar 2013 - 21:14 #3
Ja, men hvis det er fra en variabel, så ved jeg ikke lige hvordan det skal gøres.
der er 3-4 variabler i linjen
Avatar billede force_master Praktikant
03. februar 2013 - 21:16 #4
Dette er den rigtige linje,
strCommand = TxtRar.Text & " " & "a" & " " & TxtGem.Text & " " & xx
Avatar billede arne_v Ekspert
03. februar 2013 - 22:45 #5
Og hvad indeholder TxtRar og TxtGem?
Avatar billede force_master Praktikant
04. februar 2013 - 15:11 #6
TxtRar er en textbox, hvor i der står stien til hvor Rar.exe filen ligger.
TxtGem er en tekstbox hvor i der står en sti til hvor mine pakkede filer skal forefindes.
XX er også en sti, hvor rar skal tage filer og pakke fra.
Avatar billede arne_v Ekspert
04. februar 2013 - 15:33 #7
strCommand = """" & TxtRar.Text & """ " & "a" & " """ & TxtGem.Text & """ """ & xx & """"

proev og udskriv den og se om den ser OK ud
Avatar billede force_master Praktikant
04. februar 2013 - 17:14 #8
Virker ikke
strCommand = Nothing. :(
Avatar billede arne_v Ekspert
04. februar 2013 - 18:10 #9
Det kan vist ikke passe.

Hvis der assignes noget til strCommand, saa kan den ikke vaere Nothing.
Avatar billede force_master Praktikant
04. februar 2013 - 19:01 #10
kører jeg programmet med break, så står der at StrCommand = nothing,,
Før skrev den linjen som den skal, dog uden "", så mellemrum i filnavn bliver ikke sendt korrekt,
Avatar billede force_master Praktikant
04. februar 2013 - 19:07 #11
sorry, min fejl, det ser rigtig ud, men den popper bare op med en cmd vindue, som jeg ikke kan nå at læse, hvirdan stopper vi den ?
Avatar billede force_master Praktikant
04. februar 2013 - 21:34 #12
Så fik jeg det løst.
Lavede det om

Dim s As String = xx
            ' Split string based on spaces
            Dim words As String() = s.Split(New Char() {"\"c})
            Dim word As String

            For Each word In words
                xgem = word
            Next

            Dim p As New ProcessStartInfo
            x = "-v" & TxtSize.Text * 1024 & " "
            xpath = TxtGem.Text & "\" & xgem
            p.FileName = TxtRar.Text
            p.Arguments = "a -m0 " & x & """" & xpath & """ """ & xx & """"
            p.WindowStyle = ProcessWindowStyle.Normal
            Process.Start(p)
Avatar billede force_master Praktikant
05. februar 2013 - 17:40 #13
Løste det jo selv, med noget hjælp.
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