Kuinka käyttää PowerShellia tiedoston olemassaolon tarkistamiseen
Tässä S-vyöhykkeessä Victor opettaa sinulle, kuinka PowerShellin avulla voit tarkistaa, onko tiedosto olemassa. Oppaassa on useita esimerkkejä PowerShellin käyttämisestä tiedoston olemassaolon tarkistamiseen.
Jos haluat tarkistaa tiedoston olemassaolon PowerShellin avulla, käytä Testipolku Cmdlet. Voit kuitenkin kirjoittaa tiedoston polun suoraan tiedostoon Testipolku komento tai tallenna tiedosto muuttujaksi. Käytä sitten muuttujaa in Testipolku .
Selaa viestien aiheita
- Kuinka käyttää PowerShellia tarkistaaksesi, onko tiedosto olemassa ilman muuttujaa
- PowerShellin käyttäminen sen tarkistamiseen, onko muuttujaa sisältävä tiedosto olemassa
- Kuinka käyttää PowerShellia tiedoston olemassaolon tarkistamiseen ja sen kopioimiseen
- Kuinka käyttää PowerShellia tiedoston olemassaolon tarkistamiseen ja sen poistamiseen
- PowerShellin käyttäminen tarkistaaksesi, onko tiedostoa muualla Poistu
- PowerShellin käyttäminen tarkistaaksesi, onko tiedosto olemassa eikä se ole tyhjä
- Kuinka käyttää PowerShellia sen tarkistamiseen, onko kansiossa tiedostoa
- PowerShellin käyttäminen sen tarkistamiseen, onko etätietokoneessa tiedosto
- Viitteet ja lisätietoa
Kuinka käyttää PowerShellia tarkistaaksesi, onko tiedosto olemassa ilman muuttujaa
Tässä osiossa opetetaan juoksemaan Testipolku komento ilman muuttujaa.
Voit suorittaa Test-Pathin erillisenä komennona. Lisäksi voit myös yhdistää komennon an JOS lausunto suorittaa lisätehtäviä tuloksen perusteella Testipolku komento.
Testipolun suorittaminen suoraan ilman muuttujaa
Tämä alaosio opettaa, kuinka Test-Path suoritetaan yksinään (ilman tulosta a JOS lausunto).
Minulla on tiedosto nimeltä process.txt E: eportsissa.
Tarkista, onko tiedosto olemassa, kirjoittamalla alla oleva komento PowerShellissä ja painamalla Enter
|_+_|
Kun painoin, PowerShell palasi Totta , mikä tarkoittaa, että tiedosto on olemassa.
Jos suoritan saman komennon tiedostolle, jota ei ole olemassa, PowerShell palauttaa Väärä .
Testipolun ja IF-lausekkeen yhdistäminen ilman muuttujaa
Kuten aiemmin mainitsin, kun olet käyttänyt PowerShell-testipolkua tiedoston olemassaolon tarkistamiseen, voit käyttää tulosta JOS lausunto lisäystehtävien suorittamisesta.
Tässä esimerkissä tarkistan, onko tiedostoa E: eportsprocesses.txt olemassa, ja jos se on olemassa, kopioin tiedoston kansioon C: eports. Tässä on käsikirjoitus, joka tekee työn.
On suositeltavaa suorittaa tämä komento sisään PowerShell ISE |_+_|Tässä on tulos PowerShell ISE:ssä ja tiedosto, joka on kopioitu kansioon C: eports
Voin tehdä käsikirjoituksesta älykkäämmän lisäämällä kaksi ylimääräistä riviä.
|_+_|ja….
|_+_| Ensimmäinen yllä oleva komento näyttää viestin, jos tiedosto kopioidaan. Toinen näyttää viestin, että tiedostoa ei ole olemassa.Tässä on muokattu käsikirjoitus…
|_+_|
PowerShellin käyttäminen sen tarkistamiseen, onko muuttujaa sisältävä tiedosto olemassa
Viimeisessä osiossa näytin sinulle, kuinka voit käyttää PowerShellia tarkistaaksesi, onko tiedosto olemassa ilman muuttujia. Tässä osiossa tallennan Test-Path-tuloksen muuttujaksi. Käytä sitten muuttujaa an JOS lausunto.
Tämän osion esimerkissä haluan tarkistaa, jos ensimmäinen tiedosto.txt on olemassa alla olevassa kuvassa näkyvällä polulla. Sitten, jos se on olemassa, kopioin tiedoston kansioon C:PS
Ensimmäisissä vaiheissa suoritan alla olevan komennon:
|_+_|Tämä komento on sama kuin edellinen yhdellä erolla – komennon tulos tallennetaan tiedostoon tiedosto on olemassa muuttuja.
Kuinka käyttää PowerShellia tiedoston olemassaolon tarkistamiseen ja sen kopioimiseen
Kun esittelin tämän osion, tallensin tulosteen Testipolku komento tiedosto on olemassa muuttuja.
|_+_|Tässä alaosiossa opetan sinulle, kuinka tiedosto kopioidaan, jos se on olemassa. Tätä varten esittelen JOS lausunto kanssa Kopioi-kohde komento.
|_+_|Tässä on koko skripti yhdistetyillä komennoilla:
|_+_|Ja tässä on komentosarja PowerShell ISE:ssä.
Kuinka käyttää PowerShellia tiedoston olemassaolon tarkistamiseen ja sen poistamiseen
Viimeisessä alaosiossa näit kuinka tarkistaa, onko tiedosto olemassa ja kopioida tiedosto. Entä jos haluat kopioida tiedoston sen sijaan?
Jos haluat poistaa tiedoston kopioimisen sijaan, vaihda Kopioi-kohde komennon kanssa Poista esine komento.
Tässä on päivitetty komentosarja, joka tarkistaa tiedoston olemassaolon PowerShell IF -käskyn avulla. Sitten, jos se on olemassa, poista se…
|_+_|PowerShellin käyttäminen tarkistaaksesi, onko tiedostoa muualla Poistu
Joissakin PowerShell-komentosarjatilanteissa saatat haluta tarkistaa, onko tiedosto olemassa. Suorita sitten määritetty tehtävä, jos se on olemassa, kuten kopioi tai poista tiedosto. Muussa tapauksessa sulje komentosarja.
Tämän saavuttamiseksi sinun tarvitsee vain lisätä Muu lohko Jos lausunto.
Viimeisessä alaosiossa käytin tätä komentosarjaa tiedoston poistamiseen, jos se on olemassa.
|_+_|Jos haluan komentosarjan poistuvan, jos tiedostoa ei ole olemassa, muokkaan komentosarjaa alla olevan kuvan mukaisesti...
|_+_|Tässä on muokatun skriptin logiikka…
Tarkista, onko tiedosto E: eportsfirst-file.txt olemassa. Jos se on olemassa, poista tiedosto.
Jos tiedostoa ei kuitenkaan ole olemassa, suorita komento tiedostossa Muu lohko Jos lausunto. Tässä tapauksessa komento tiedostossa Muu silmukka on sana, Tauko .
Tauko käskee PowerShellia lopettamaan komentosarjan käsittelyn. Voit myös lisätä Tauko lauseen If-lohkossa - Remove-Item-komennon alla…
|_+_|PowerShellin käyttäminen tarkistaaksesi, onko tiedosto olemassa eikä se ole tyhjä
Tämä on toinen PowerShell-komentosarjassa yleinen ehto – sen tarkistaminen, onko tiedosto olemassa eikä tyhjä. Tämä saattaa koskea lokitiedostoja.
Jos sinulla on esimerkiksi sovellus, joka luo ja päivittää lokitiedostoja, voit kirjoittaa PowerShell-komentosarjan, joka tarkistaa, että uudet lokitiedostot päivitetään.
Testaaksesi, onko tiedosto olemassa, käytät Testipolku komento. Kuitenkin tarkistaaksesi, onko tiedosto tyhjä, sinun on esitettävä toinen komento, Get-ChildItem .
Tässä skenaariossa voit käyttää Get-ChildItem komentaa kahdella tavalla.
yksi , jos haluat tarkistaa, onko yksittäinen tiedosto tyhjä, voit suorittaa sen Get-ChildItem -komentoa käyttämällä koko tiedostopolkua Polku parametri. kaksi , vaihtoehtoisesti, jos haluat tarkistaa joukon tiedostoja kansiossa, käytä kansion polkua Polku parametri.
Tässä osiossa annan esimerkin, joka tarkistaa, onko tietty tiedosto olemassa ja onko se tyhjä. Käsittelen toista vaihtoehtoa Kuinka käyttää PowerShellia tarkistaaksesi, onko tiedosto olemassa kansio osio myöhemmin tässä oppaassa.
Tässä esimerkissä haluan tarkistaa, onko tiedosto, ensimmäinen tiedosto.txt ja jos se on tyhjä.
Kuten aiemmin mainitsin, ensimmäinen askel on suorittaa Get-ChildItem -komentoa käyttämällä koko tiedostopolkua Polku parametri. Aloita suorittamalla alla oleva komento…
Apex Legends -palvelimen aikakatkaisu|_+_|
Tässä on komennon tulos. Komennon tuloksesta näet, että tiedostolla on ominaisuus nimeltä Pituus .
Tehokkaasti, Pituus tiedoston ominaisuus näyttää tiedoston koon. Lisäksi, jos tiedosto on tyhjä, Pituus on nolla (0).
Joten jos haluat tarkistaa PowerShellin, onko Ei tyhjä, tarkistamme, onko Pituus EI ole nolla (0).
Tämän saavuttamiseksi muokkaan viimeistä komentoa alla olevan kuvan mukaisesti…
|_+_|Tässä on PowerShellin komennon tulos. Tässä tapauksessa, koska tiedostoni koko on 0 (tyhjä), komento palasi väärä .
Tämä tarkoittaa, että tämä tiedosto on tyhjä.
Mutta kuinka sisällytämme bitin, joka testaa tiedoston olemassaolon? Kiva kun kysyit!
kuinka muuttaa messengerin ilmoitusääntä
Esittelen logiikkaa, joka käyttää PowerShellia tiedoston olemassaolon tarkistamiseen ja myös sen tarkistamiseen, että tiedosto EI ole tyhjä, yhdistän osia edellisestä skriptistämme ja Get-ChildItem komento yllä.
Tässä on muokattu käsikirjoitukseni…
|_+_|Tässä muokatussa skriptin versiossa tein seuraavat muutokset…
- Rivillä 2 tallensin Get-ChildItem -komento, joka tarkistaa, onko tiedosto tyhjä – kutsutussa muuttujassa $checkiffileisty .
- Sitten riville 3 lisäsin toisen ehdon Jos lausunto. Kunto osa Jos lauseke päivitettiin muotoon If (($fileexists -eq $True) -ja ($checkiffileisempty -eq $False)).
Tämä ehto testaa, onko mitä tallennettu $tiedosto on olemassa On Totta (tiedosto on olemassa). Lisäksi se tarkistaa, onko mitä tallennettu $checkiffileissempt On Väärä (tiedosto on tyhjä).
Tehokkaasti PowerShell tarkistaa, onko Testipolku komento, joka on tarkistanut, onko tiedostopolku olemassa Totta . Lisäksi se tarkistaa myös, onko Get-ChildItem komento, joka tarkistaa, onko tiedosto EI tyhjä Väärä (eli tiedosto on tyhjä) - Lopuksi, jos molemmat ehdot täyttyvät, rivillä 4 PowerShell suorittaa komennon If-käskyn suluissa {}.
Tässä esimerkissä tämä komento on If-lauseen {}-sulussa.
Komento lisää tekstin Arvo parametri Sarja-sisältö komento.
Testaaksesi, että komentosarja toimii, kopioi se PowerShell ISE:hen ja suorita komentosarja…
Kun suoritin skriptin, tiedoston, ensimmäinen tiedosto.txt – joka oli aiemmin tyhjä – sisältää nyt joitain arvoja. Lisäksi tiedostokoko ei ole enää nolla (0)!
Kuinka käyttää PowerShellia sen tarkistamiseen, onko kansiossa tiedostoa
Tähän mennessä tämä opas on käsitellyt useita skenaarioita PowerShellin käyttämiseksi tiedoston olemassaolon tarkistamiseen.
Tässä osiossa haluan sukeltaa syvälle kansioihin. Erityisesti opit tarkistamaan, onko tiedosto olemassa nykyisessä kansiossa vai kaikissa alikansioissa.
Lisäksi opit käyttämään PowerShellia sen tarkistamiseen, onko tiedosto useissa kansioissa. Lopuksi näytän sinulle, kuinka voit käyttää jokerimerkkejä tarkistaaksesi, onko tiedosto olemassa.
PowerShellin käyttäminen tarkistaaksesi, onko nykyisessä kansiossa tiedosto
Tässä ensimmäisessä esimerkissä opit tarkistamaan, onko nykyisessä kansiossa tiedosto – kaikkia alikansioita lukuun ottamatta.
Tässä esimerkissä haluan tarkistaa, onko E: eports-kansiossa tiedostoja, joiden tunniste on .log. Haluan kuitenkin sulkea pois kaikki alikansiot.
Ensimmäinen askel on suorittaa Get-ChildItem komento. Ohjaa sitten ulostulo kohtaan Missä-Objekti ja suodattaa PSIsContainer omaisuutta.
The PSIsContainer ominaisuus on ominaisuus, joka määrittää kansiot tai hakemistot. Vuonna Missä-Objekti komennolla määritin $_.PSIsContainer -ne $true. Tämä komento yksinkertaisesti sanoo Älä palauta mitään tuotetta, jos se on PSIsContainer omaisuus on Totta. Tämä palauttaa vain tiedostot.Tässä on käsky…
|_+_|Ja tässä on tulos PowerShellissä…
Viimeinen vaihe on palauttaa kaikkien nykyisen kansion .log-tunnisteella varustettujen tiedostojen koko polku.
Tässä on käsky…
|_+_|Ja tulos…
Tästä eteenpäin, jos haluat suorittaa lisätehtäviä tiedostoille, voit putsata viimeisen tuloksen tulosteen a Jokaiselle silmukka. Sitten sisällä Jokaiselle silmukka, voit suorittaa lisäkomentoja.Kuinka käyttää PowerShellia sen tarkistamiseen, onko alikansioissa tiedosto
Jos haluat tarkistaa, onko tietty tiedosto tai tiedostot kaikissa alikansioissa, ei nykyisessä kansiossa, sinun on tehtävä pieniä muutoksia Get-ChildItem komento.
Erityisesti, kun putki Get-ChildItem komento, sisään Missä-Objekti , suodatat Missä-Objekti palauttaaksesi vain kansiot.
|_+_|Komento palauttaa koko polun kaikkiin määritetyn kansion alikansioihin…
Seuraavassa vaiheessa sinun on käytettävä Jokaiselle lausetta toistaaksesi kaikki viimeisen komennon palauttamat kansiot. Sitten sisällä Jokaiselle lausunto, suorita toinen Get-ChildItem komento jokaista alikansiota vastaan.
Siitä on kolme muunnelmaa Jokaiselle mutta tässä esimerkissä käytän Jokaiselle -Object Cmdlet.
|_+_|Komento näyttää kaikki lokitiedostot alikansioissa…
Kuinka käyttää PowerShellia tarkistaaksesi, onko tiedosto olemassa nykyinen kansio ja kaikki alikansiot
Kahdessa viimeisessä alaosassa käytin PSIsContainer ominaisuus joko suodattaa alikansiot pois tai palauttaa vain alikansiot. Tässä esimerkissä poistan PSIsContainer omaisuutta.
Esittelen kuitenkin a Get-ChildItem komentoparametri, kutsutaan Toistuva . The Toistuva parametrivoimat Get-ChildItem tarkistaaksesi määritetyn kansion ja kaikki sen alikansiot.
Tässä on muokattu skripti.
|_+_|The Toistuva parametri esitellään ensimmäisessä Get-ChildItem komento. Sitä ei vaadita toisessa Get-ChildItem komento ( sisällä Jokaiselle esineelle lohko).
Tässä on komennon tulos. Tällä kertaa raportti sisältää kaikki ylimmän kansion lokitiedostot ja kaikki sen alikansiot.
PowerShellin käyttäminen sen tarkistamiseen, onko etätietokoneessa tiedosto
Jos haluat testata, onko tiedosto olemassa etätietokoneessa, voit käyttää samaa periaatetta, joka on käsitelty kaikissa tämän oppaan esimerkeissä.
Sinun on kuitenkin esitettävä uusi komento nimeltä Invoke-Command . Sitten sisällä Invoke-Command komento, käytä sitä ScriptBlock parametri määrittääksesi jonkin komennoista, joita käsittelimme aiemmin tässä oppaassa.
Toinen tärkeä huomioitava asia on, että saatat joutua määrittämään käyttäjänimen ja salasanan tilille, jolla on oikeus muodostaa yhteys etätietokoneeseen.
Lisäksi määritetyllä tilillä tulee olla oikeus suorittaa komento tiedostossa ScriptBlock parametri – etätietokoneessa.
Käytä lopuksi Tietokoneen nimi parametri määrittääksesi etätietokoneen nimen.
Viitteellesi tässä on yleinen syntaksi Invoke-Command komento.
|_+_|Lue lisää aiheesta Invoke-Command -komento, katso Viitteet ja lisätietoa tämän oppaan lopussa.
Jos toivon, että onnistuin opettamaan sinulle PowerShellin käytön tarkistamaan, onko tiedosto olemassa!
Toivon myös, että S-alueesta oli apua. Jos koit sen hyödylliseksi, äänestä ystävällisesti Joo Oliko tämä viesti Hyödyllinen kysymys alla.
Vaihtoehtoisesti voit esittää kysymyksen, jättää kommentin tai antaa palautetta tämän sivun lopusta löytyvällä Vastaa -lomakkeella.
Lopuksi, jos haluat lisää sähköpostitekniikan S-alueita, käy Windows PowerShell -ohjesivullamme. Myös Work from Home -sivumme voi olla sinulle hyödyllistä.
Viitteet ja lisätietoa
- Invoke-Command
- Powershell, jos muuten selitetään: Syntaksi ja esimerkit
- Get-ChildItem
- Testipolku


