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

510

    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. 20v on otettu kiinni

      Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
      Savonlinna
      111
      6808
    2. Somali ei kätellyt Stubbia Linnan juhlissa

      Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
      Maailman menoa
      609
      4678
    3. Kuka on menehtynyt?

      https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
      Kankaanpää
      24
      3074
    4. Nainen, ota nyt rauhallisesti

      Älä ota kaiken maailman murheita päällesi. Sulla on tapana ottaa elämä liian vakavasti. Ei aina, mutta joskus menee vähä
      Ikävä
      135
      1292
    5. 47
      1245
    6. Savonlinnan murhapolttaja romani

      Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
      Maailman menoa
      116
      978
    7. Ajattelen sinua kiitollisuudella

      Olet minulle jotain kaunista, jotain, joka tapahtui elämässäni. Et ole minulle pakkomielle enkä vaadi sinulta yhtään mi
      Ikävä
      49
      892
    8. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

      https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
      Maailman menoa
      32
      861
    9. Mitä olisitte sanonut hänelle?

      Onko teille jäänyt mieleen joku tietty ihminen ja tilanne, joka polttelee yhä – se asia, jota ette uskaltaneet sanoa ään
      Ikävä
      50
      844
    10. Sinulle tiedoksi

      Olen paljon miettinyt sitä hetkeä, kun uskalsin näyttää pienin elein ja kertoa pienesti, eli hyvin hillitysti sinulle si
      Ikävä
      27
      833
    Aihe