Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Elemen yang Anda lihat di drive PowerShell, seperti file dan folder atau kunci registri, disebut Item di PowerShell. Cmdlet untuk bekerja dengan item tersebut memiliki kata benda Item dalam namanya.
Output perintah Get-Command -Noun Item menunjukkan bahwa ada sembilan item cmdlet PowerShell.
Get-Command -Noun Item
CommandType Name Definition
----------- ---- ----------
Cmdlet Clear-Item Clear-Item [-Path] <String[]...
Cmdlet Copy-Item Copy-Item [-Path] <String[]>...
Cmdlet Get-Item Get-Item [-Path] <String[]> ...
Cmdlet Invoke-Item Invoke-Item [-Path] <String[...
Cmdlet Move-Item Move-Item [-Path] <String[]>...
Cmdlet New-Item New-Item [-Path] <String[]> ...
Cmdlet Remove-Item Remove-Item [-Path] <String[...
Cmdlet Rename-Item Rename-Item [-Path] <String>...
Cmdlet Set-Item Set-Item [-Path] <String[]> ...
Membuat item baru
Untuk membuat item baru di sistem file, gunakan New-Item cmdlet . Sertakan parameter Jalur dengan jalur ke item, dan parameter ItemType dengan nilai File atau Directory.
Misalnya, untuk membuat direktori baru bernama New.Directory di C:\Temp direktori, ketik:
New-Item -Path C:\temp\New.Directory -ItemType Directory
Directory: Microsoft.PowerShell.Core\FileSystem::C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2006-05-18 11:29 AM New.Directory
Untuk membuat file, ubah nilai parameter ItemType menjadi File. Misalnya, untuk membuat file bernama file1.txt di New.Directory direktori, ketik:
New-Item -Path C:\temp\New.Directory\file1.txt -ItemType File
Directory: Microsoft.PowerShell.Core\FileSystem::C:\temp\New.Directory
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2006-05-18 11:44 AM 0 file1
Anda dapat menggunakan teknik yang sama untuk membuat kunci registri baru. Bahkan, kunci registri lebih mudah dibuat karena satu-satunya jenis item di registri Windows adalah kunci. (Entri registri adalah properti item.) Misalnya, untuk membuat kunci bernama _Test di subkunci CurrentVersion, ketik:
New-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\_Test
Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
SKC VC Name Property
--- -- ---- --------
0 0 _Test {}
Saat mengetik jalur registri, pastikan untuk menyertakan titik dua (:) dalam nama drive PowerShell, HKLM: dan HKCU:. Tanpa titik dua, PowerShell tidak mengenali nama drive di jalur.
Mengapa nilai registri bukan item
Saat Anda menggunakan Get-ChildItem cmdlet untuk menemukan item dalam kunci registri, Anda tidak akan pernah melihat entri registri aktual atau nilainya.
Misalnya, kunci HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run registri biasanya berisi beberapa entri registri yang mewakili aplikasi yang berjalan saat sistem dimulai.
Namun, ketika Anda menggunakan Get-ChildItem untuk mencari item turunan di kunci, yang akan Anda lihat adalah subkunci OptionalComponents dari kunci.
Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Run
Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
SKC VC Name Property
--- -- ---- --------
3 0 OptionalComponents {}
Meskipun akan lebih mudah untuk memperlakukan entri registri sebagai item, Anda tidak dapat menentukan jalur ke entri registri dengan cara yang memastikan bahwa itu unik. Notasi jalur tidak membedakan antara subkunci registri bernama Jalankan dan entri registri (Default) di subkunci Jalankan .
Selain itu, karena nama entri registri dapat berisi karakter garis miring terbalik (\), jika entri registri adalah item, maka Anda tidak dapat menggunakan notasi jalur untuk membedakan entri registri bernama Windows\CurrentVersion\Run dari subkunci yang terletak di jalur tersebut.
Mengganti nama item yang sudah ada
Untuk mengubah nama file atau folder, gunakan Rename-Item cmdlet. Perintah berikut mengubah nama file menjadi file1.txtfileOne.txt.
Rename-Item -Path C:\temp\New.Directory\file1.txt fileOne.txt
Rename-Item Cmdlet dapat mengubah nama file atau folder, tetapi tidak dapat memindahkan item. Perintah berikut gagal karena mencoba memindahkan file dari New.Directory direktori ke direktori Temp.
Rename-Item -Path C:\temp\New.Directory\fileOne.txt C:\temp\fileOne.txt
Rename-Item : can't rename because the target specified isn't a path.
At line:1 char:12
+ Rename-Item <<<< -Path C:\temp\New.Directory\fileOne C:\temp\fileOne.txt
Memindahkan barang
Untuk memindahkan file atau folder, gunakan Move-Item cmdlet .
Misalnya, perintah berikut memindahkan direktori New.Directory dari C:\temp direktori ke akar C: drive. Untuk memverifikasi bahwa item telah dipindahkan, sertakan parameter PassThru cmdlet Move-Item . Tanpa PassThru, Move-Item cmdlet tidak menampilkan hasil apa pun.
Move-Item -Path C:\temp\New.Directory -Destination C:\ -PassThru
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2006-05-18 12:14 PM New.Directory
Menyalin barang
Jika Anda terbiasa dengan operasi salin di shell lain, Anda mungkin menemukan perilaku Copy-Item cmdlet di PowerShell tidak biasa. Saat Anda menyalin item dari satu lokasi ke lokasi lain, Copy-Item tidak menyalin kontennya secara default.
Misalnya, jika Anda menyalin New.Directory direktori dari drive C: ke C:\temp direktori, perintah berhasil, tetapi file di direktori New.Directory tidak disalin.
Copy-Item -Path C:\New.Directory -Destination C:\temp
Jika Anda menampilkan konten C:\temp\New.Directory, Anda akan menemukan bahwa konten tersebut tidak berisi file:
PS> Get-ChildItem -Path C:\temp\New.Directory
PS>
Mengapa cmdlet tidak Copy-Item menyalin konten ke lokasi baru?
Copy-Item Cmdlet dirancang untuk umum; bukan hanya untuk menyalin file dan folder.
Selain itu, bahkan saat menyalin file dan folder, Anda mungkin hanya ingin menyalin kontainer dan bukan item di dalamnya.
Untuk menyalin semua konten folder, sertakan parameter Recurse cmdlet Copy-Item dalam perintah . Jika Anda telah menyalin direktori tanpa kontennya, tambahkan parameter Force , yang memungkinkan Anda menimpa folder kosong.
Copy-Item -Path C:\New.Directory -Destination C:\temp -Recurse -Force -PassThru
Directory: Microsoft.PowerShell.Core\FileSystem::C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2006-05-18 1:53 PM New.Directory
Directory: Microsoft.PowerShell.Core\FileSystem::C:\temp\New.Directory
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2006-05-18 11:44 AM 0 file1
Menghapus elemen
Untuk menghapus file dan folder, gunakan Remove-Item cmdlet . Cmdlet PowerShell, seperti Remove-Item, yang dapat membuat perubahan yang signifikan dan tidak dapat diubah akan sering meminta konfirmasi saat Anda memasukkan perintahnya. Misalnya, jika Anda mencoba menghapus New.Directory folder, Anda akan diminta untuk mengonfirmasi perintah, karena folder berisi file:
Remove-Item C:\temp\New.Directory
Confirm
The item at C:\temp\New.Directory has children and the -Recurse parameter was not
specified. If you continue, all children will be removed with the item. Are you
sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):
Karena Yes adalah respons default, untuk menghapus folder dan filenya, tekan tombol Enter . Untuk menghapus folder tanpa mengonfirmasi, gunakan parameter Recurse .
Remove-Item C:\temp\New.Directory -Recurse
Mengeksekusi item
PowerShell menggunakan Invoke-Item cmdlet untuk melakukan tindakan default untuk file atau folder. Tindakan default ini ditentukan oleh handler aplikasi default di registri; efeknya sama seperti jika Anda mengklik dua kali item di File Explorer.
Misalnya, Anda menjalankan perintah berikut:
Invoke-Item C:\WINDOWS
Jendela Explorer yang terletak di C:\Windows muncul, seolah-olah Anda telah mengklik C:\Windows ganda folder.
Jika Anda memanggil Boot.ini file pada sistem sebelum Windows Vista:
Invoke-Item C:\boot.ini
.ini Jika jenis file dikaitkan dengan Notepad, boot.ini file akan terbuka di Notepad.