Move-Item
Memindahkan item dari satu lokasi ke lokasi lainnya.
Sintaks
Move-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Move-Item
-LiteralPath <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
cmdlet Move-Item
memindahkan item, termasuk properti, isi, dan item turunannya, dari satu lokasi ke lokasi lain. Lokasi harus didukung oleh penyedia yang sama.
Misalnya, ia dapat memindahkan file atau subdirektori dari satu direktori ke direktori lain atau memindahkan subkuntang registri dari satu kunci ke kunci lainnya. Saat Anda memindahkan item, item ditambahkan ke lokasi baru dan dihapus dari lokasi aslinya.
Contoh
Contoh 1: Memindahkan file ke direktori lain dan mengganti namanya
Perintah ini memindahkan file Test.txt
dari drive C:
ke direktori E:\Temp
dan mengganti namanya dari test.txt
ke tst.txt
.
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Contoh 2: Memindahkan direktori dan kontennya ke direktori lain
Perintah ini memindahkan direktori C:\Temp
dan kontennya ke direktori C:\Logs
.
Direktori Temp
, dan semua subdirektori dan filenya, kemudian muncul di direktori Logs
.
Move-Item -Path C:\Temp -Destination C:\Logs
Contoh 3: Memindahkan semua file ekstensi tertentu dari direktori saat ini ke direktori lain
Perintah ini memindahkan semua file teks (*.txt
) di direktori saat ini (diwakili oleh titik (.
)) ke direktori C:\Logs
.
Move-Item -Path .\*.txt -Destination C:\Logs
Contoh 4: Memindahkan semua file ekstensi tertentu secara rekursif dari direktori saat ini ke direktori lain
Perintah ini memindahkan semua file teks dari direktori saat ini dan semua subdirektori, secara rekursif, ke direktori C:\TextFiles
.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Perintah menggunakan cmdlet Get-ChildItem
untuk mendapatkan semua item anak di direktori saat ini (diwakili oleh titik (.
)) dan subdirektorinya yang memiliki ekstensi nama file *.txt
. Ini menggunakan parameter Recurse untuk membuat pengambilan rekursif dan parameter Sertakan untuk membatasi pengambilan ke file *.txt
.
Operator alur (|
) mengirim hasil perintah ini ke Move-Item
, yang memindahkan file teks ke direktori TextFiles
.
Jika file yang akan dipindahkan ke C:\Textfiles
memiliki nama yang sama, Move-Item
menampilkan kesalahan dan melanjutkan, tetapi hanya memindahkan satu file dengan setiap nama ke C:\Textfiles
. File lain tetap berada di direktori aslinya.
Jika direktori Textfiles
(atau elemen lain dari jalur tujuan) tidak ada, perintah gagal. Direktori yang hilang tidak dibuat untuk Anda, bahkan jika Anda menggunakan parameter Force.
Move-Item
memindahkan item pertama ke file yang disebut Textfiles
lalu menampilkan kesalahan yang menjelaskan bahwa file sudah ada.
Selain itu, secara default, Get-ChildItem
tidak memindahkan file tersembunyi. Untuk memindahkan file tersembunyi, gunakan parameter Paksa dengan Get-ChildItem
.
Nota
Di Windows PowerShell 2.0, saat menggunakan parameter berulang cmdlet Get-ChildItem
, nilai parameter Jalur harus berupa kontainer. Gunakan parameter Sertakan untuk menentukan filter ekstensi nama file *.txt
(Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
).
Contoh 5: Memindahkan kunci dan nilai registri ke kunci lain
Perintah ini memindahkan kunci dan nilai registri dalam kunci registri MyCompany
di HKLM\Software
ke kunci MyNewCompany
. Karakter kartubebas (*
) menunjukkan bahwa konten kunci MyCompany
harus dipindahkan, bukan kunci itu sendiri. Dalam perintah ini, Jalur opsional dan nama parameter Tujuan dihilangkan.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Contoh 6: Memindahkan direktori dan kontennya ke subdirektori direktori yang ditentukan
Perintah ini memindahkan direktori Logs[Sept`06]
(dan kontennya) ke direktori Logs[2006]
.
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
Parameter LiteralPath digunakan alih-alih Jalur, karena nama direktori asli menyertakan karakter tanda kurung siku kiri dan kurung siku kanan ([
dan ]
). Jalur ini juga diapit dalam tanda kutip tunggal ('
), sehingga simbol backtick (`
) tidak disalahartikan.
Parameter Tujuan juga harus diapit dalam tanda kutip tunggal karena menyertakan tanda kurung yang dapat disalahartikan.
Parameter
-Confirm
Meminta konfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Credential
Nota
Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | Current user |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Destination
Menentukan jalur ke lokasi tempat item dipindahkan. Defaultnya adalah direktori saat ini. Kartubebas tidak diizinkan.
Untuk mengganti nama item yang dipindahkan, tentukan nama baru dalam nilai parameter Tujuan.
Jenis: | String |
Position: | 1 |
Nilai default: | Current directory |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | True |
-Exclude
Menentukan, sebagai array string, item atau item yang dikecualikan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti *.txt
. Karakter kartubebas diizinkan. Parameter Kecualikan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*
, di mana karakter kartubebas menentukan konten direktori C:\Windows
.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-Filter
Menentukan filter untuk memenuhi syarat parameter Jalur. Penyedia FileSystem adalah satu-satunya penyedia PowerShell yang diinstal yang mendukung penggunaan filter. Anda dapat menemukan sintaks untuk bahasa filter FileSystem dalam about_Wildcards. Filter lebih efisien daripada parameter lain, karena penyedia menerapkannya ketika cmdlet mendapatkan objek daripada memfilter PowerShell objek setelah diambil.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-Force
Memaksa perintah untuk dijalankan tanpa meminta konfirmasi pengguna. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat about_Providers.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Include
Menentukan, sebagai array string, item atau item yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti *.txt
. Karakter kartubebas diizinkan. Parameter Sertakan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*
, di mana karakter wildcard menentukan konten direktori C:\Windows
.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-LiteralPath
Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai kartubebas. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal ('
). Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.
Untuk informasi selengkapnya, lihat about_Quoting_Rules.
Jenis: | String[] |
Alias: | PSPath, LP |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PassThru
Mengembalikan objek yang mewakili item yang dipindahkan. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Path
Menentukan jalur ke lokasi item saat ini. Defaultnya adalah direktori saat ini. Karakter kartubebas diizinkan.
Jenis: | String[] |
Position: | 0 |
Nilai default: | Current directory |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | True |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan string yang berisi jalur ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
Saat Anda menggunakan parameter PassThru, cmdlet ini mengembalikan objek yang mewakili item yang dipindahkan.
Catatan
PowerShell menyertakan alias berikut untuk Move-Item
:
Semua platform:
mi
move
Windows:
mv
Cmdlet ini akan memindahkan file antar drive yang didukung oleh penyedia yang sama, tetapi akan memindahkan direktori hanya dalam drive yang sama.
Karena perintah
Move-Item
memindahkan properti, isi, dan item turunan item, semua pemindahan akan berulang secara default.Cmdlet ini dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia dalam sesi Anda, ketik
Get-PSProvider
. Untuk informasi selengkapnya, lihat about_Providers.