Bagaimana cara menyalin struktur direktori tanpa menyalin file?


47

Saya memiliki folder dengan banyak subfolder dan file di dalamnya. Apakah ada cara untuk menyalin folder dan struktur direktori subfolder tanpa menyalin file yang dikandungnya, menggunakan cmd atau PowerShell?

Jawaban:


45

Jika Anda ingin menyalin folder kosong juga.

xcopy C: \ Folder D: \ Folder / t / e


1
benar, /eharus digunakan juga.

1
XCOPY Build in Powershell secara default dan berfungsi dengan sempurna.
BenCes

29

Ya. XCOPY

XCopy source {destination}  /t

contoh

xcopy C:\Folders D:\Folders /t

lebih lanjut tentang xcopy dapat ditemukan di sini http://ss64.com/nt/xcopy.html


5
Anda harus menambahkan /euntuk menyalin juga mengosongkan folder

18

Meskipun XCOPY masih berfungsi, Windows Vista dan yang lebih baru menyertakan ROBOCOPY yang memiliki lebih banyak fitur. Sintaks umum untuk menyalin pohon folder (termasuk folder kosong) tanpa file adalah:

robocopy "A:\Source folder" "B:\Destination folder" /e /xf *


3

Metode PowerShell yang tidak perlu menyalin setiap file dan kemudian menghapusnya:

Copy-Item -LiteralPath '.\source' -Destination 'C:\path\to\copy' -Recurse -Filter {PSIsContainer -eq $true}

Atau lebih ringkas:

copy .\source C:\path\to\copy -r -fi PSIsContainer

Satu-satunya trik yang menarik di sini adalah pemfilteran di PSIsContainerproperti, yang berlaku untuk direktori tetapi bukan file.


Ini super cepat juga!
Regmi

1

Lihatlah aplikasi 47folder, alat Windows yang praktis dan gratis, melakukan apa yang Anda butuhkan melalui GUI yang bagus. masukkan deskripsi gambar di sini

PERINGATAN: Mantan tautan ( http://47foldersapp.com/ ) sekarang (Nov 2017) mengarah ke iklan pakaian. Salinan Internet Archive terakhir yang baik ada di sini . Perangkat lunak mungkin masih tersedia dari situs unduhan freeware seperti ini .


0

Mungkin ada solusi yang lebih baik, tetapi saya akan melihat ini:

  • Salin semuanya, lalu kosongkan folder dengan skrip.

  • Buat skrip yang akan menyalin semuanya jika tidak memiliki ekstensi. Kecuali Anda memiliki file tanpa ekstensi di folder, yang seharusnya tidak Anda miliki, itu akan berfungsi, karena, well. Folder tidak memiliki ekstensi. Sesuatu yang akan terlihat seperti ini di pseudocode:

open_directory ($ path);
while ($ file = get_directory_content) {
if (kosong (get_file_extension ($ file))) {
copy_the_file ($ file, $ tujuan);
}
}
close_directory;


Sayangnya, kami memiliki file tanpa ekstensi. Dari .placeholder untuk repo kode, ke beberapa file data tertentu.
Benteng

Oh Baik. Mungkin ada hal if (itu folder), kalau begitu. Tapi uhm Hal xcopy di atas sepertinya itu hal yang tepat untuk Anda saat itu. Kecuali jika tidak, dalam hal ini Anda dapat menjalankan skrip untuk 1. menyalin semua folder dan 2. mengosongkan semua folder. Atau sesuatu. Tapi ini ... Panjang. xD
Ariane

0

Gunakan PowerShell untuk melakukannya menggunakan. Buat Salinan Folder dan kemudian Remove-Item -Path "C:\test\*.*" -recurse



-1

Sejauh yang saya tahu ada perangkat lunak pihak ketiga yang dapat menyediakan fungsi ini jika Anda ingin melakukan dengan command prompt maka perintah copy ada di luar sana. ketik bantuan salin dalam cmd yang menyediakan detail tentang bagaimana Anda menyalin file melalui cmd.
setelah menyalin masuk ke folder melalui cmd dan jalankan perintah

del *. *
yang menghapus file karena folder tidak memiliki. karakter


3
Menghapus file baik-baik saja, tetapi siapa bilang nama folder tidak dapat mengandung titik / periode juga?
Karan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.