Tiedostojen kopioiminen tai siirtäminen PowerShellissä
Mietitkö kuinka kopioida tai siirtää tiedostoja PowerShellillä?
Tämä S-alue opettaa sinulle, kuinka voit käyttää PowerShellia tiedoston kopioimiseen Get-ChildItem ja Kopioi-kohde cmdletit. Opas kattaa kolme tapaa kopioida tiedostoja PowerShellillä.
Lopuksi opit myös siirtämään tiedostoja PowerShellillä. Toisin kuin tiedoston kopioiminen, kun siirrät tiedoston, tiedosto poistetaan lähteestään.
Selaa viestien aiheita
- Yhden tiedoston kopioiminen PowerShellillä
- Kuinka kopioida kaikki tiedostotyypit kansiossa PowerShellillä
- Kuinka kopioida kaikki kansion tiedostotyypit ja kaikki alikansiot
- Tiedostojen siirtäminen PowerShellissä
Yhden tiedoston kopioiminen PowerShellillä
Tässä ensimmäisessä osassa opetan sinulle kuinka kopioida yksi tiedosto PowerShellillä. Kopioitpa yhtä tiedostoa tai kaikkia kansion tiedostoja – PowerShell-komennossa on 2 osaa.
Komennon ensimmäisessä osassa käytät Get-ChildItem Cmdlet kohteeseen lista tiedosto. Sitten sinä putki tuotos Get-ChildItem komento Kopioi-kohde Cmdlet.
avastsvc korkea suorittimen käyttö
Tiedoston luetteloiminen Get-ChildItem
Kuten mainitsin tämän osan johdannossa, sinun on ensin kopioitava tiedosto PowerShellillä lista sen kanssa Get-ChildItem .
Tässä esimerkissä haluan kopioida tiedoston nimeltä Byte Count Tool sen nykyisestä kansiosta kansioon D:G-DriveWork ToolsProducts Portal 2.
Tekstitiedoston luetteloimiseksi suoritan alla olevan komennon:
|_+_|Nopein tapa suorittaa komento on sijoittaa PowerShell-kehote tiedoston viereen kansion viereen. Sitten syötä Get-ChildItem PowerShell-kehotteessa – paina välilyöntinäppäintä lisätäksesi välilyönnin.
Vedä seuraavaksi tiedosto kansiosta PowerShell-kehotteeseen.
Lopuksi voit luetella tiedoston ominaisuudet PowerShell-kehotteen ollessa auki painamalla Enter-näppäintä.
Kuinka putkistää ulostulon Get-ChildItem Vastaanottaja Kopioi-kohde
Kun olet listannut kopioitavan tiedoston ominaisuudet, siirrä se tiedostoon Kopioi-kohde . Sitten, päällä Kopioi-kohde määritä kansio, johon haluat kopioida tiedoston.
Tässä on PowerShell-komento tiedoston kopioimiseksi:
|_+_| Lisäsin lainausmerkit kansion polun ympärille, koska sen välissä on välilyöntejä.Kun painat enteriä, komento suoritetaan – tiedosto kopioidaan määritettyyn kohteeseen
Kuinka kopioida kaikki tiedostotyypit kansiossa PowerShellillä
Tämän oppaan viimeisessä osassa näytin sinulle, kuinka yksi tiedosto kopioidaan PowerShellillä. Saattaa kuitenkin olla tilanteita, joissa sinun on kopioitava kaikki kansion tiedostotyypit.
Tässä osiossa opit kopioimaan kaikki tietyllä tiedostotunnisteella varustetut tiedostot kansiosta toiseen kansioon. Voit esimerkiksi haluta kopioida kaikki tiedostot, joiden tunniste on .log, C:Windowsista toiseen kansioon.
Tämä prosessi on samanlainen kuin yksittäisen tiedoston kopioiminen, mutta se vaatii lisävaiheita. Erityisesti, jos haluat kopioida useamman kuin yhden tiedoston PowerShellillä, meidän on luotava yksinkertainen komentosarja.
Skriptin ensimmäinen osa sisältää Get-ChildItem Cmdlet listaaksesi tiedostot, jotka haluat kopioida. Sitten käytät käsikirjoituksen toisessa osassa Jokaiselle silmukka iteroidaksesi tiedostoluettelon läpi.
Lopuksi sisällä Jokaiselle silmukan, sisällytät Kopioi-kohde Cmdlet kopioidaksesi kaikki tiedostot haluamaasi kohteeseen.
Jotta sinun olisi helppo ymmärtää yksinkertaista PowerShell-komentosarjaa, jonka olemme luomassa, jaan tämän osan kahteen alaosioon.
Kuinka luetella kaikki tiedostotyypit Get-ChildItem
Tässä esimerkissä haluan kopioida kaikki tiedostot, joiden tunniste on .log tiedostosta C:Windows D:Log Files -kansioon. Kuten edellä jo vihjattiin, ensimmäinen askel on kuitenkin käyttää Get-ChildItem Cmdlet luettelee kaikki tiedostot, joiden tiedostotunniste on .log.
Jälleen kerran, jotta sinun olisi helpompi ymmärtää viimeinen komento, aloitetaan perusteista. Ensinnäkin, antaa luettelon kaikki tiedostot ja kansiot lähdekansiossa - alla olevalla komennolla:
|_+_|Viimeinen komento näyttää sekä tiedostot että kansiot.
Haluamme kuitenkin käyttää PowerShellia kopioimaan vain tiedostoja, joiden tunniste on .log. Joten lisäämme toisen komennon, joka näyttää nämä tiedostot yksin.
Katso vielä viimeinen kuvakaappaus. Viimeisen sarakkeen nimi on Nimi. Tämä on tiedoston tai kansion nimi. Käytämme näitä tietoja pian.Tämän tavoitteen saavuttamiseksi putsaamme Get-ChildItem C:Windows -tulosteen a Missä-Objekti komento. Tässä on komento, joka tekee tempun.
|_+_| Muistatko, että käskin sinun huomioida Nimi-sarakkeen Get-ChildItem C:Windows-tuloksesta? PowerShellissä käytät $_. automaattinen muuttuja viittausobjekteihin. Yllä olevassa komennossa käskin PowerShellia näyttämään vain objektit, joiden nimi sisältää '.log'. Lopuksi vedin tuloksen Select-Object Cmdletiin ja käskin sen näyttämään Koko nimi tiedostosta. The Koko nimi sisältää tiedostopolun.Tässä on yllä olevan komennon tulos. Olemme poistaneet kaikki muut tiedot – meillä on nyt vain kopioitavat tiedostot. Emme kuitenkaan ole valmiit tämän osan kanssa – ennen kuin jatkat skriptin luomisen viimeiseen osaan, meidän on lisättävä vielä yksi bitti.
Tämä bitti on viimeisen komennon lisääminen muuttujaan - kutsun muuttujaa lokitiedostot . Tässä on komento, joka tekee tämän työn.
|_+_|Ainoa ero tämän komennon ja viimeisen välillä on $logfiles = bitti. Tämä käskee PowerShellia tallentaa tulosteen Get-ChildItem C:Windows | Missä-Object { $_.Name -like '*.log' } | Select-Object FullName – muuttujassa nimeltä lokitiedostot .
Toisin kuin viimeinen komento, jos suoritan nyt viimeisimmän komennon, se ei näytä mitään tulosta. Syynä tähän on se, että tulos tallennetaan nyt muuttujaan sen sijaan, että se näytettäisiin konsolissa.
Kuinka kopioida useita tiedostoja PowerShellillä Jokaiselle silmukka
Käsikirjoituksen luomisen viimeisessä osassa esittelemme maagisen Jokaista silmukkaa varten . Jos haluat lukea lisää ForEach-silmukasta ja sen syntaksista, napsauta ForEach-silmukkaa .
Yleensä ForEach-silmukan syntaksi näyttää tältä:
paras transkriptio-ohjelmisto mac|_+_|
Joten jos sovellamme tätä tilanteeseemme – pitäen mielessä, että haluamme kopioida kaikki tiedostot .log-tunnisteella PowerShellillä – ForEach-komentomme näyttää tältä:
|_+_|Lopuksi yhdistetään tämä viimeinen komento viimeisen osan Get-ChildItem-komentoon. Lopullinen käsikirjoitus näyttää tältä:
|_+_| Huomaa kuinka sisällytin . Koko nimi ForEach-silmukan $logfiles -osassa. Tämä johtuu siitä, että käytin Select-Object Cmdlet -komentoa komennon ensimmäisessä osassa. Tämän bitin lisääminen poistaa sarakkeen nimen. Muussa tapauksessa komento palauttaa virheitä.Jos kopioit yllä olevat komennot PowerShell ISEen ja tallennat sen, sinulla on komentosarja! Voit kuitenkin suorittaa yksittäiset komennot alla olevan kuvakaappauksen mukaisesti.
Yllä oleva komento suoritetaan ja PowerShell palaa kehotteeseensa ikään kuin mitään ei olisi tapahtunut. Kun kuitenkin avaat komennon ForEach-silmukkabitissä määrittämäsi kohdekansion, PowerShell-komento olisi kopioinut tiedostot – katso alla oleva kuvakaappaus…
Kuinka kopioida kaikki kansion tiedostotyypit ja kaikki alikansiot
Tähän mennessä tämä opas on käsitellyt vaiheet yhden tiedoston kopioimiseksi PowerShellillä. Lisäksi opas on käsitellyt myös vaiheet useiden tiedostojen kopioimiseksi kansiosta.
Olemme käsitelleet joitain mahtavia PowerShell-tiedostojen kopiointitilanteita.
On kuitenkin tilanteita, joissa sinun on kopioitava kaikki tiedostot tietyllä tiedostotunnisteella kansiosta ja kaikista sen alikansioista .
TF2-käynnistysvaihtoehtojen tarkkuus
Jos jatkan viimeiseen esimerkkiini, sano, että haluan kopioida kaikki tiedostot, joiden tunniste on .log C:Windows kansio ja kaikki sen alikansiot – muutan vain Get-ChildItem osa tätä komentoa:
|_+_|Saadaksesi Get-ChildItem -komento luettelee kaikki tiedostot, joiden tiedostotunniste on .log C:Windows ja kaikki sen alikansiot – lisään a Get-ChildItem komentoparametri kutsutaan Toistuva .
Tätä silmällä pitäen uusi komentoni näyttää nyt tältä:
|_+_|Vie pisteeni kotiin suorittamalla Get-ChildItem-komennon ilman $logfiles = -bittiä. Komento palauttaa virheitä, koska yritän käyttää tiedostoja, joihin minulla ei ole käyttöoikeuksia.
Korjatakseni tämän virheen yritän avata PowerShellin järjestelmänvalvojana. Nyt kun suoritan saman komennon, se palauttaa joitain tuloksia.
Toisin kuin viimeinen komento, joka ei sisältänyt Toistuva parametri, tämä komento palauttaa paljon enemmän tiedostoja. Tämä johtuu siitä, että komento palautti kaikki ylimmän tason kansion tiedostot sekä tiedostot kaikissa sen alikansioissa.
Lopuksi kopioidaksesi kaikki kansion tiedostot ja kaikki sen alikansiot PowerShellillä, suorita alla olevan komennon kaltainen komento.
Muista vaihtaa kansion osia. Olen lihavoitunut lähde- ja kohdekansiopolut, jotta voit helposti havaita ja vaihtaa ne omaksesi. |_+_| Jos haluat tallentaa tämän komennon PowerShell ISE:ssä ja suorittaa sen komentosarjana, saatat haluta lisätä ErrorAction-muuttujan Get-ChildItem-komentoon. ErrorAction-muuttujan kanssa lopullinen komentosarja näyttää tältä: |_+_|Tiedostojen siirtäminen PowerShellissä
Tiedostojen kopioimisen lisäksi PowerShell voi myös Liikkua tiedostot. Erona on, että kun siirrät tiedoston, se poistetaan lähdekansiostaan.
Joten jos tiedostojen kopiointi ja siirtäminen ovat suunnilleen samat, se tarkoittaa, että voit käyttää samoja komentoja, joita olemme käyttäneet tässä oppaassa pienellä muutoksella.
Jotta se olisi helppoa, olen listannut kaikki tässä oppaassa tähän mennessä käsitellyt komennot. Sitten annan jokaiselle komennolle komennon siirtää tiedostoa vastaava komento.
Ennen kuin jatkan, on tärkeää mainita, että ainoa ero komentoissa on Copy-Item bitti. Käyttämisen sijaan Kopioi-kohde tiedoston kopioimiseen, tiedoston siirtämiseen, käytät Siirrä kohde .Yhden tiedoston siirtäminen PowerShellillä
Komento yhden tiedoston kopioimiseksi PowerShellissä on:
|_+_|Käytä kuitenkin tätä komentoa siirtääksesi tiedoston:
|_+_|Kuinka siirtää kaikki tiedostotyypit kansiossa PowerShellillä
Kuten edellä jo mainittiin, tässä on komennot kopioida kaikki tiedostotyypit kansioon.
|_+_|Toisaalta siirrä tiedostoja käyttämällä tätä komentoa.
ÄLÄ suorita alla oleva komento muuttamatta C:Windows osa. Jos suoritat komennon, tärkeitä käyttöjärjestelmätiedostoja voidaan siirtää ja tietokoneesta voi tulla epävakaa. Nämä komennot ovat vain havainnollistavia! |_+_|Kuinka siirtää kaikki tiedostotyypit kansiossa ja kaikki alikansiot
Lopuksi alla olevat komennot kopioivat kaikki lähdekansion tiedostot ja kaikki sen alikansiot.
|_+_|Voit siirtää tiedostoja käyttämällä tätä komentoa.
|_+_|Toivon, että tässä oppaassa käsitellyt menetelmät tiedostojen kopioimiseen ja siirtämiseen PowerShellillä olivat hyödyllisiä.
Jos koit sen hyödylliseksi, äänestä ystävällisesti Joo Oliko tämä viesti Hyödyllinen kysymys alla.
Jos mikään menetelmistä ei kuitenkaan toiminut sinulle tai tarvitsit jotain muuta kuin käsitellyt menetelmät, napsauta Ei Oliko tämä viesti Hyödyllinen kysymys alla. Anna sitten meille lisätietoja. Tarkistamme lukijamme palautteen ja päivitämme oppaitamme jatkuvasti vastaamaan tarpeitasi.Vaihtoehtoisesti voit esittää kysymyksen, jättää kommentin tai antaa palautetta Jätä vastaus -lomakkeella, joka löytyy tämän sivun lopusta.
Lopuksi lisää PowerShell tech S Zones -alueita Windows PowerShell -ohjesivullamme. Saatat myös pitää Work from Home -sivustamme erittäin hyödyllisenä.


