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

Move-Item Cmdlet memindahkan item, termasuk properti, isi, dan item turunannya, dari satu lokasi ke lokasi lain. Lokasi harus didukung oleh penyedia yang sama.

Misalnya, ini 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 Test.txt file dari C: drive ke E:\Temp direktori 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 C:\Temp direktori dan isinya ke C:\Logs direktori. Temp Direktori, dan semua subdirektori dan filenya, kemudian muncul di Logs direktori.

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 C:\Logs direktori.

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 C:\TextFiles direktori.

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

Perintah menggunakan Get-ChildItem cmdlet untuk mendapatkan semua item anak di direktori saat ini (diwakili oleh titik (.)) dan subdirektorinya yang memiliki *.txt ekstensi nama file. Ini menggunakan parameter Recurse untuk membuat pengambilan rekursif dan parameter Sertakan untuk membatasi pengambilan ke *.txt file.

Operator alur (|) mengirimkan hasil perintah ini ke Move-Item, yang memindahkan file teks ke TextFiles direktori.

Jika file yang akan dipindahkan memiliki C:\Textfiles 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.

Textfiles Jika direktori (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 dipanggil 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.

Catatan

Dalam Windows PowerShell 2.0, saat menggunakan parameter Recurse cmdletGet-ChildItem, nilai parameter Path harus berupa kontainer. Gunakan parameter Sertakan untuk menentukan *.txt filter ekstensi nama file (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 MyCompanyHKLM\Software kunci registri ke MyNewCompany kunci. Karakter kartubebas MyCompany (*) menunjukkan bahwa konten kunci harus dipindahkan, bukan kunci itu sendiri. Dalam perintah ini, nama parameter Jalur dan Tujuan opsional dihilangkan.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

Contoh 6: Memindahkan direktori dan kontennya ke subdirektori direktori yang ditentukan

Perintah ini memindahkan Logs[Sept`06] direktori (dan isinya) ke Logs[2006] direktori.

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'

Parameter LiteralPath digunakan alih-alih Jalur, karena nama direktori asli menyertakan kurung siku kiri dan karakter tanda 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 Anda mengonfirmasi sebelum menjalankan cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Catatan

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.

Type:PSCredential
Position:Named
Default value:Current user
Accept pipeline input:True
Accept wildcard characters:False

-Destination

Menentukan jalur ke lokasi tempat item dipindahkan. Defaultnya adalah direktori saat ini. Kartubebas diizinkan, tetapi hasilnya harus menentukan satu lokasi.

Untuk mengganti nama item yang sedang dipindahkan, tentukan nama baru dalam nilai parameter Tujuan .

Type:String
Position:1
Default value:Current directory
Accept pipeline input:True
Accept wildcard characters:True

-Exclude

Menentukan, sebagai array string, item atau item yang dikecualikan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Path . Masukkan elemen atau pola jalur, seperti *.txt. Karakter kartubebas diizinkan. Parameter Kecualikan hanya berlaku ketika perintah menyertakan konten item, seperti C:\Windows\*, di mana karakter kartubebas C:\Windows menentukan konten direktori.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 memiliki PowerShell memfilter objek setelah diambil.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Force

Memaksa perintah untuk berjalan tanpa meminta konfirmasi pengguna. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat about_Providers.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Menentukan, sebagai array string, item atau item yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Path . 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 kartubebas C:\Windows menentukan konten direktori.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 menafsirkan karakter apa pun sebagai urutan escape.

Untuk informasi selengkapnya, lihat about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Mengembalikan objek yang mewakili item yang dipindahkan. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Menentukan jalur ke lokasi item saat ini. Defaultnya adalah direktori saat ini. Karakter kartubebas diizinkan.

Type:String[]
Position:0
Default value:Current directory
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String

Anda dapat menyalurkan string yang berisi jalur ke cmdlet ini.

Output

None or an object representing the moved item

Saat Anda menggunakan parameter PassThru , cmdlet ini menghasilkan objek yang mewakili item yang dipindahkan. Jika tidak, cmdlet ini tidak menghasilkan output apa pun.

Catatan

  • Cmdlet ini akan memindahkan file antar drive yang didukung oleh penyedia yang sama, tetapi akan memindahkan direktori hanya dalam drive yang sama.
  • Move-Item Karena perintah memindahkan properti, konten, dan item turunan dari item, semua pemindahan secara default rekursif.
  • Cmdlet ini dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia di sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat about_Providers.