Ini pertanyaan bodoh, tapi saya tidak tahu mengapa itu tidak berhasil.
Saya mencoba menyalin file dari FolderA ke FolderB secara rekursif. Saya melakukan ini:
Copy-Item -Path "C:\FolderA\" -Destination "C:\FolderB\" -recurse -Force -Verbose
Ini bekerja dengan baik, tidak ada masalah.
Kecuali hasil di FolderB adalah ini:
C:\FolderB\FolderA\file.txt
Sedangkan yang saya inginkan:
C:\FolderB\file.txt
Hal bodoh apa yang saya lewatkan?
powershell
CleverPatrick
sumber
sumber
Jawaban:
Perintah Anda memberi tahu PowerShell untuk menyalin folder itu sendiri, dengan semua kontennya, ke folder tujuan. Untuk menyalin hanya konten folder asli, ubah jalur Anda sebagai berikut:
Perhatikan tanda bintang (*) setelah nama folder. Ini akan menyalin konten (termasuk subfolder) folder, tetapi bukan folder itu sendiri ke folder tujuan.
Menggunakan Cmdlet Copy-Item
sumber
md "C:\FolderB"
sebelumnyaCopy-Item
sepertinya menghindari masalah ini.Copy-Item
akan mereproduksi struktur folder, tetapi satu tingkat turun (misalnyaC:\FolderA\B\C
disalin keC:\FolderB\C
bukanC:\FolderB\B\C
), dan mungkin juga gagal ketika beberapa subfolder ada. Selalu pastikan folder tujuan ada sebelum memanggil Copy-Item. Baunya seperti bug (saya tidak bisa melihat alasan mengapa perilaku tidak konsisten ini diinginkan).Anda dapat menggunakan -File -Rekur untuk Menyalin File Saja Secara Rekursif:
Copy-Item -Path "C: \ Source" -Destination "C: \ Dest" -File -recurse -Force -Verbose
Atau gunakan -Directory -Recse hanya untuk menyalin struktur folder kosong:
Copy-Item -Path "C: \ Source" -Destination "C: \ Dest" -Directory -recurse -Force -Verbose
Salam,
Paul Pedroza
sumber
Juga akan bekerja.
sumber