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

555

    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. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      21
      10825
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      40
      8067
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      123
      5201
    4. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      69
      3528
    5. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      110
      3526
    6. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      30
      3483
    7. Eikö me voitais

      Vaan harrastaa seksiä kun muusta ei tule mitään
      Ikävä
      61
      3380
    8. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      3137
    9. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      51
      2460
    10. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      34
      1956
    Aihe