পাওয়ারশেল অনুলিপি-আইটেম পুনরাবৃত্তভাবে তবে ফোল্ডারের নাম অন্তর্ভুক্ত করবেন না


20

এটি একটি বোকা প্রশ্ন, তবে কেন এটি কাজ করছে না তা আমি জানি না।

আমি ফোল্ডারএ থেকে ফোল্ডারবিতে পুনরাবৃত্তভাবে ফাইলগুলি অনুলিপি করার চেষ্টা করছি। আমি এটি করছি:

Copy-Item -Path "C:\FolderA\" -Destination "C:\FolderB\" -recurse -Force -Verbose

এটি দুর্দান্ত কাজ করে, কোনও সমস্যা নেই।

ফোল্ডারবি-র ফলাফল বাদে এই:

C:\FolderB\FolderA\file.txt

যদিও আমি এটি হতে চাই:

C:\FolderB\file.txt

আমি কোন নির্বোধ স্পষ্ট জিনিস মিস করছি?


4
আপনি বোকা কিছুই করছেন না, অনুলিপি-আইটেমটি কেবল একটি পিআইটিএ।
স্টিংজি জ্যাক

উত্তর:


28

আপনার কমান্ড পাওয়ারশেলকে গন্তব্য ফোল্ডারে তার সমস্ত বিষয়বস্তু সহ ফোল্ডারটি অনুলিপি করতে বলছে। শুধুমাত্র মূল ফোল্ডারের বিষয়বস্তু অনুলিপি করতে আপনার পথটি নিম্নলিখিতভাবে পরিবর্তন করুন:

Copy-Item -Path "C:\FolderA\*" -Destination "C:\FolderB\" -recurse -Force -Verbose

ফোল্ডারের নামের পরে তারকাচিহ্ন (*) লক্ষ করুন। এটি ফোল্ডারের সামগ্রী (সাবফোল্ডারগুলি সহ) অনুলিপি করবে তবে গন্তব্য ফোল্ডারে ফোল্ডারটি নয়।

অনুলিপি-আইটেম সিএমডলেট ব্যবহার করে


2
নোট এই যে নেই ফোল্ডারের গঠন কপি যদি গন্তব্য ফোল্ডারটি বিদ্যমান নয়। md "C:\FolderB"আগে কল করা Copy-Itemএই সমস্যাটি এড়ানো বলে মনে হচ্ছে।
zett42

উপরে @ zett42 এর মন্তব্যে বিল্ডিং, গন্তব্য ফোল্ডারটি ইতিমধ্যে উপস্থিত না থাকলে মনে Copy-Itemহয় ফোল্ডারটির কাঠামো পুনরুত্পাদন করবে তবে এক স্তর নীচে (উদাহরণস্বরূপ এর পরিবর্তে C:\FolderA\B\Cঅনুলিপি করা হয়েছে ), এবং একাধিক সাব- ফোল্ডার উপস্থিত থাকলেও এটি ব্যর্থ হতে পারে। সর্বদা নিশ্চিত করুন অনুলিপি ফোল্ডারটি অনুলিপি-আইটেম কল করার আগে উপস্থিত রয়েছে। এটি বাগের মতো গন্ধযুক্ত (এই অসঙ্গতিপূর্ণ আচরণটি কাঙ্ক্ষিত হওয়ার কোনও কারণ আমি দেখতে পাচ্ছি না)। C:\FolderB\CC:\FolderB\B\C
মার্ক দূর্দিন

1
এছাড়াও মন্তব্য দেখুন ।
মার্ক দূর্দিন

0

আপনি কেবল ফাইলগুলি অনুলিপিভাবে অনুলিপি করার জন্য-ফাইল- রেকর্ড ব্যবহার করতে পারেন :

অনুলিপি-আইটেম -পথ "সি: \ উত্স" -পরিচালনা "সি: \ ধ্বংস" -ফায়াল-রিসার্চ-ফর্স-ভারবোস

অথবা ডিরেক্টরি- কেবলমাত্র ফাঁকা ফোল্ডার কাঠামো অনুলিপি করতে -পরিচয় ব্যবহার করুন :

অনুলিপি-আইটেম -পথ "সি: \ উত্স" -পরিচালনা "সি: \ ধ্বংস" -পরিচালনা -রেকর্ডস-ফর্স-ভারবোস

আন্তরিক শুভেচ্ছা,

পল পেদ্রোজা


-1
Copy-Item -Path "C:\FolderA" -Destination "C:\FolderB" -recurse -Force -Verbose

কাজ করবে।


1
এটি ফাস্টআথেরনেটের অনুরূপ উত্তরের মন্তব্য বলে মনে হচ্ছে। আপনি যদি কোনও বিকল্প উত্তর দিতে চান তবে আপনাকে কেন এটি প্রশ্নের উত্তর দেয় তা ব্যাখ্যা করা উচিত।
ব্ল্যাকউড

এটি সি: \ ফোল্ডারবি তৈরি করে যদি এটি বিদ্যমান না - তবে সি তৈরি করে: old ফোল্ডারবি C ফোল্ডার যদি সি:। ফোল্ডারবি থাকে না। আপনি যদি এই কমান্ডটি দু'বার চালনা করেন তবে কিছুটা আলাদা লোকেশনে দুটি কপি পেতে পারেন! অনেক ব্যাথা.
ল্যামার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.