আমার কাছে একটি ফোল্ডার রয়েছে যাতে প্রতিটি অ্যাপ্লিকেশন সংস্করণের (দশমিক সংখ্যা) উপ-ফোল্ডার থাকে। এখন, আমার কাছে powershell
সংস্করণ তুলনার জন্য একটি স্ক্রিপ্ট রয়েছে। সমস্যাটি হচ্ছে আমি এটি আশানুরূপ অনুসারে বাছাই করতে পারি না। আমি কীভাবে এটি এক লাইনের কোডে সমাধান করব, কারণ আমি এটি ব্যাচ স্ক্রিপ্ট থেকে করছি।
Get-ChildItem
ফোল্ডার সামগ্রী দেখতে ব্যবহার করা
বর্তমান সাজান ( batch
স্ক্রিপ্ট থেকে সম্পাদন :
powershell -Command "& {Get-ChildItem "\folder_dir\" -Name | sort-object -descending }
সমাধানের জন্য বিকল্পগুলি:
Get-ChildItem
তারিখ অনুসারে বাছাই করুন এবং কোনওভাবে কেবল ফোল্ডারগুলির নাম মুদ্রণ করুন (নিয়মিত আউটপুট যেমন "নাম" শিরোনাম ছাড়াই)Get-ChildItem
নাম অনুসারে বাছাই করুন এবং কোনওভাবে এটি বাছাই করতে (সমস্যাটি দশমিক সংখ্যার সাথে)
উদাহরণস্বরূপ (উতরাই বা আরোহণ, কিছু যায় আসে না The আদেশটি কী জিনিস):
Folder content:
1.0
1.111
1.11
2.2
1.18
2.5
2.44
Current output:
2.5 <-- wrong place
2.44
2.2
1.18 <-- wrong place
1.111
1.11
1.0
Expected sort:
1.0
1.11
1.18
1.111
2.2
2.5
2.44
Get-ChildItem "\folder_dir\" -Name | sort $("{0}.{1}" -f ($_ -replace '^(.*?)\.\d+$', '$1'), ($_ -replace '^.*?\.(\d+)$', '$1').PadLeft(10, "0"))
powershell -Command "& {Get-ChildItem "\\nas\shared\Public\Igor\gscript\version" -Name | sort-object { [regex]::Replace($_, '\d+', { $args[0].Value.PadLeft(20) }) }}