PowerShell: Fájl áthelyezése és átnevezése
A következő szintaxist használhatja több fájl áthelyezésére és átnevezésére egyik mappából a másikba a PowerShell használatával:
Get-ChildItem *.txt |
ForEach-Object{
$newName = $_.FullName -replace 'information', 'info'
Rename-Item $_ $newName
Move-Item $newName -destination "c:\users\bobbi\data2"
}
Ez a konkrét példa átnevezi az összes .txt fájlt az aktuális könyvtárban úgy, hogy a fájlnevekben az „információ” szót „info”-ra cseréli, majd áthelyezi őket egy új, data2 nevű mappába.
Minden olyan fájl, amely nem rendelkezik .txt kiterjesztéssel az aktuális könyvtárban, változatlan marad.
A következő példa bemutatja ennek a szintaxisnak a gyakorlati használatát.
Példa: Fájlok áthelyezése és átnevezése a PowerShellben
Tegyük fel, hogy jelenlegi könyvtárunk elérési útja a következő:
C:\Users\bobbi\data1
Beírhatjuk a Get-ChildItem parancsot az aktuális könyvtárban található összes fájl listázásához:
Tegyük fel, hogy át szeretnénk nevezni az összes .txt kiterjesztésű fájlt úgy, hogy minden fájlnévben lecseréljük az „információ” karakterláncot az „info”-ra, majd áthelyezzük ezeket a fájlokat egy új mappanévre adat2.
Ehhez a következő szintaxist használhatjuk:
Get-ChildItem *.txt |
ForEach-Object{
$newName = $_.FullName -replace 'information', 'info'
Rename-Item $_ $newName
Move-Item $newName -destination "c:\users\bobbi\data2"
}A következő képernyőkép azt mutatja be, hogyan kell ezt a szintaxist a gyakorlatban használni:
Amikor aGet-ChildItem parancsmagot használjuk a data2 mappa tartalmának megtekintéséhez, láthatjuk, hogy minden .txt fájl a Az data1 mappát átneveztük úgy, hogy az „információ” karakterláncot az „info”-ra cserélték.
Ha még egyszer a Get-ChildItem parancsmagot használjuk az aktuális könyvtárunkban lévő fájlok megtekintéséhez, látni fogjuk, hogy az általunk átnevezett .txt fájlok már nincsenek a könyvtárban. a könyvtár:
Csak a .csv fájlok vannak még az aktuális könyvtárban, amelyet nem neveztünk át vagy helyeztünk át.


