etsi kansio / tuhoa kansio

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
6602
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Aina silta saa vastauksen, jos asiallisesti kyselet

Äänestä
  • 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

    Äänestä

  • 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

    Äänestä

  • 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

    Äänestä

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

Äänestä
  • 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ä

    Äänestä

Kommentoi aloitusta


matroxi kirjoitti:

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

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu