etsi kansio / tuhoa kansio

matroxi

tervehdys, mitenkäs saan kerrottua parametrejä excelin koodista käsin dos komennoille?

elikkä rmdir toimii hyvin ilman /s parametriä kunhan kansio on tyhjä mutta miten saan tuon /s parametrin tai vastaavan mukaan jotta voisin poistaa kansioita joissa on sälää

Sub toinen()
usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
path = "c:\" & usrinput
RmDir /s path
End Sub


Tai vaihtoehtoisesti jos kutsun .bat tiedostoa tuosta koodista, niin miten saisin kiikutettua .bat tiedostoon tuon path tiedon?

Kiitoksia

6

591

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Kunde Rules

      Aina silta saa vastauksen, jos asiallisesti kyselet

      • minä itse =)

        juu kundea lähinnä ajattelin kun tälle palstalle ongelmani kirjoitin.

        Tuntuu mies(puhdas arvaus) meinaan käyttäneen exceliä muutaman kerran =)

        vai onko olemassa joku kysy kundelta sivusto?

        Mutta nyt en apua enään kaipaa vaan kerrankin keksin itse vastauksen =)

        Eli alkuperäisessä pätkässä kansio ei poistunut koska siellä oli sälää, mutta pieni kiertotie ratkaisi asian eli tyhjinsin kansion kill lausekkeella vanha koodi:

        Sub toinen()
        usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
        path = "c:\" & usrinput
        RmDir path
        End Sub

        Muutettu toimiva koodi:

        usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
        path = "c:\" & usrinput
        fullpath = path & "\*.*"
        Kill fullpath
        RmDir path
        End Sub


      • jos ei alihakemistoja
        minä itse =) kirjoitti:

        juu kundea lähinnä ajattelin kun tälle palstalle ongelmani kirjoitin.

        Tuntuu mies(puhdas arvaus) meinaan käyttäneen exceliä muutaman kerran =)

        vai onko olemassa joku kysy kundelta sivusto?

        Mutta nyt en apua enään kaipaa vaan kerrankin keksin itse vastauksen =)

        Eli alkuperäisessä pätkässä kansio ei poistunut koska siellä oli sälää, mutta pieni kiertotie ratkaisi asian eli tyhjinsin kansion kill lausekkeella vanha koodi:

        Sub toinen()
        usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
        path = "c:\" & usrinput
        RmDir path
        End Sub

        Muutettu toimiva koodi:

        usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
        path = "c:\" & usrinput
        fullpath = path & "\*.*"
        Kill fullpath
        RmDir path
        End Sub

        mutta miks ei:

        usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
        path = "/s c:\" & usrinput
        RmDir path
        End Sub


      • alkup.
        jos ei alihakemistoja kirjoitti:

        mutta miks ei:

        usrinput = InputBox("anna etsimäsi kansion numero", "kansio haku")
        path = "/s c:\" & usrinput
        RmDir path
        End Sub

        Joo toihan olis aivan mahtava jos vaan toimisi, mutta esimerkissäsi se /s luetaan osaksi polkua ja tämän seurauksena se ei siis toimi

        eli path = /s c:\syöte
        antaa vaan ilmotuksen että path not found


    • toi tyhjentaa kansion vaikka siella olisi tiedostojakin. Kandee olla varovainen, ettei poista jotakin tarkeatakin.

      Sub PoistaKansio()
      Dim fso
      Dim kansio As String
      kansio = "c:\Testi"
      Set fso = CreateObject("Scripting.FileSystemObject")
      If fso.FolderExists(kansio) Then
      fso.DeleteFolder kansio
      Else
      MsgBox kansio & " ei ole olemassa!" _
      , vbExclamation, "Kansiota ei loytynyt"
      End If
      End Sub

      • alkup.

        Eli ongelma ratkaistu, mutta mietiskelin jo aiemmin että onkohan keinoa saada siirrettyä käyttäjän syötettä esim. .bat suoritukseen tai .vbs:ään

        syöte = inputbox(" kirjota jotain")
        call c:\suoritus.bat
        'ja batissa suorittaisi esim tuon poiston eli
        rmdir /s "c:\" & syöte

        ei varmaankaan pysty sillä ovathan ihan eri ympäristöjä, mutta tulipahan vaan mieleen...

        Kiitos kuitenkin edellisestä


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Turussa Varissuolla bussikuski ajoi lapsen yli lapsi kuoli

      Poliisi " Epäilee " kuskia törkeästä liikenneturvallisuuden vaarantamisesta ja törkeästä kuolemantuottamuksesta.
      Maailman menoa
      434
      2814
    2. IS: Väitöstutkimus - Pyöräilybuumi oli pelkkä kupla!

      Pyöräilybuumista paljastui karu totuus Väitöstutkimuksen mukaan suuri suomalainen pyöräilyrenessanssi olikin vain pelkk
      Maailman menoa
      100
      2092
    3. 167
      1662
    4. Ilman Stadia Suomessa ei olisi kunnon lihajalosteita

      HK, Helsingin makkaratehdas, Votkin, mitä näitä nyt onkaan. Böndellä ei ole kunnollisia jalostajia.
      Maailman menoa
      92
      1564
    5. Martina Aitolehden Victoria-tytär, 16, tietää riskit - Teki silti yllättävän päätöksen

      Victoria Eerikäinen on Martina Aitolehden ja Esko Eerikäisen tytär. Hän on yksi Nepot-sarjan tähdistä. Sarjan kuvausten
      Suomalaiset julkkikset
      17
      1526
    6. Apostolit kastoivat eri tavalla kuin kirkko

      Raamatussa on kaksi ristiriitaista kastekaavaa. Toinen ei voi olla oikea. Kumpi on alkuperäinen? "Menkää siis ja tehkää
      Kaste
      459
      1258
    7. Olen varattu

      Kihloissa ja menemme naimisiin. Anteeksi💔
      Ikävä
      147
      1104
    8. Vastuunkantoa

      Nyt kun Ähtäri on historiansa pahimmassa kriisissä, päättäjä luikkii perunakellariin: "Eronpyyntö kaupunginvaltuuston pu
      Ähtäri
      52
      1090
    9. Ruohonpolttoa Suomussalmella

      Poikaporukka oli kuullut että ruohonpoltto on muotia, joten Kirkkopuistossa oli tekoruohoa poltettu. Ketkä liene asialla
      Suomussalmi
      44
      962
    10. Vilpitön totuudenetsiä löytää totuuden kasteesta.

      Nykyaikana on niin paljon tietoa saatavilla että vilpitön totuudenetsiä löytää totuuden myös kristillisestä kasteesta. R
      Kaste
      450
      932
    Aihe