Get-ChildItem
আপনাকে ফাইল নামক ফিল্টারগুলির সাথে পুনরাবৃত্তভাবে ফাইল এবং ডিরেক্টরি তালিকাবদ্ধ করতে দেয় allows Copy-Item
আপনাকে একটি ফাইল অনুলিপি করতে দেয়।
ফাইলগুলি নির্বাচনের ক্ষেত্রে প্রচুর পরিমাণে ওভারল্যাপ রয়েছে, Copy-Item
আপনার যা প্রয়োজন তার বিবরণ (যেমন, আপনি কি ফোল্ডার কাঠামোটি ধরে রাখতে চান?) এর উপর নির্ভর করে তার নিজেরাই যথেষ্ট is
সব অনুলিপি করতে *.foo
এবং *.bar
StartFolder থেকে DestFolder করুন:
Copy-Item -path "StartFolder" -include "*.foo","*.bar" -Destination "DestFolder"
আপনার যদি ফোল্ডার কাঠামো সংরক্ষণ করতে হয় তবে জিনিসগুলি আরও শক্ত হয়ে যায় কারণ আপনাকে গন্তব্য ফোল্ডারের নাম তৈরি করতে হবে, এরকম কিছু:
$sourcePath = 'C:\StartFolder'
$destPath = 'C:\DestFolder'
Get-ChildItem $sourcePath -Recurse -Include '*.foo', '*.bar' | Foreach-Object `
{
$destDir = Split-Path ($_.FullName -Replace [regex]::Escape($sourcePath), $destPath)
if (!(Test-Path $destDir))
{
New-Item -ItemType directory $destDir | Out-Null
}
Copy-Item $_ -Destination $destDir
}
তবে robocopy
সম্ভবত এটি সহজ হতে পারে:
robocopy StartFolder DestFolder *.foo *.bar /s
শেষ পর্যন্ত নির্বাচনের উপায়টি কী কী প্রয়োজন তার বিশদের উপর নির্ভর করবে।
(উপরোক্ত ক্ষেত্রে আমি উপকরণগুলি এড়িয়ে গেছি (উদাহরণস্বরূপ Copy-Item
পরিবর্তে copy
) এবং প্যারামিটারের নামগুলি অবস্থানগত থাকলেও স্পষ্টভাবে ব্যবহার করি))