উত্তর:
আমি জানি আপনার শিরোনামে আপনি "ডস ইন" বলছেন তবে আমি এই ধারণাটি পেয়েছি যে আপনি এটি করার জন্য কেবল একটি উপায় সন্ধান করছেন এবং ভাবছেন যে এটিই সেরা উপায়।
এর জন্য আমি যে নিখুঁত সেরা সরঞ্জামটি পেয়েছি তা হ'ল বাল্ক নামকরণের ইউটিলিটি ।
এটি কোনও কমান্ড লাইন সরঞ্জাম নয়, তবে আপনি যদি সত্যিই সেভাবে এটি ব্যবহার করতে চান তবে তাদের কাছে একটি কমান্ড লাইন সংস্করণ রয়েছে ।
আমি জিইউআই সংস্করণটি অনেক ব্যবহার করেছি এবং এটি খুব শক্তিশালী, খুব দ্রুত এবং ব্যবহার করা অত্যন্ত সহজ।
ওহ, এবং এটি ব্যক্তিগত ব্যবহারের জন্য নিখরচায় ।
একটি ছোট পাওয়ারশেল লিপি:
$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }
আরও জটিল নিয়মিত প্রকাশের সাথে একত্রিত হয়ে এটি এমন কিছু হতে পারে:
ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*).mp3', '$2 - $1.mp3' }
যা '01 - বিগনিং.এমপি 3 'এর মতো জিনিসগুলিকে' বিগনিং - 01. এমপি 3 'তে পরিণত করে।
নামগুলি ইস্যু করার আগে -WhatIf
প্যারামিটারটি Rename-Item
পুনরায় নামগুলি পরীক্ষা করতে ব্যবহার করুন।
... -replace '\d+ - ',''
। এছাড়াও, আমি বিশ্বাস করি যে প্রথমটি আরও ভাল, কেবলমাত্র রেগেক্স ব্যবহার শুরু করে। যদিও আমি বিশ্বাস করি আপনার প্রকাশের শুরুতে অ্যাঙ্করটি অন্তর্ভুক্ত করা উচিত সুতরাং এটি কেবল সংখ্যার সাথে শুরু হওয়া নামের সাথে মেলে।
-replace
ডানদিকে কেবল একটি যুক্তি থাকতে পারে, সেক্ষেত্রে দ্বিতীয়টি স্পষ্টতই খালি স্ট্রিং।
আপনি যদি সত্যিই উইন্ডোজ কমান্ড লাইনটি ব্যবহার করতে চান (আপনি যদি কিছু ডাউনলোড করতে না চান), আপনি এটি এটি করতে পারেন:
dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l
প্রথম লাইনটি ফাইললাইস্ট.টেক্সট নামে একটি ফাইলের মধ্যে ফাইলগুলির তালিকা আউটপুট করে। দ্বিতীয় রেখার তালিকার প্রতিটি নাম পৃথক করে 3 অংশ, #, "" "এবং বাকী নামের মধ্যে রাখে তাদের প্রত্যেকের জন্য এটি পুনর্নবীকরণ কমান্ড করে।
for /f "tokens=1,2,3" %i in ('dir /B') DO ren "%i %j %l" %l
এন্ট্রেনামার নামকরণের একটি প্যাটার্ন সংজ্ঞা দেওয়া বেশ সহজ করে তোলে; ইতিমধ্যে প্রস্তুত প্রচুর আছে (এবং এটি ক্রিয়াকলাপগুলির পূর্বরূপ দেয়):
ব্যক্তিগত এবং বাণিজ্যিক ব্যবহারের জন্য বিনামূল্যে।
পুরানো স্কুল:
আপনি একটি ডিআইআর করতে পারেন এবং আউটপুটটিকে কোনও ফাইলে ডাইরেক্ট করতে পারেন, যেমন ডিআইআর * .TXT> TEMP.BAT
তারপরে আপনার যা প্রয়োজন হবে না তা বের করতে এবং আপনার প্রয়োজনীয় অংশগুলি সংশোধন করতে একটি সম্পাদক ব্যবহার করুন। শীর্ষ লাইন হিসাবে একটি "@echo অফ" যুক্ত করুন, এটি সংরক্ষণ করুন এবং এটি চালান।
আরেকটি বিকল্প: বিশাল ফাইল পুনর্নামকরণকারী
এটি সহজেই একাধিক ফাইল এবং ফাইল এক্সটেনশনের নাম পরিবর্তন করতে দেয় । এটি খুব দ্রুত এবং সহজ!
উন্নত ব্যবহারকারী এবং বিকাশকারীদের জন্য, নিয়মিত এক্সপ্রেশন ব্যবহার করা সম্ভব ।
এটি কর্মে দেখুন:
আমি এই জাতীয় জিনিসের জন্য টোটাল কমান্ডারের বহু-নামকরণ সরঞ্জাম (সিটিআরএল + এম) ব্যবহার করি। তাদের দরকারী সরঞ্জাম, গণনা করা খুব অনেকের একটি, ব্যবহার করা সহজ, এবং প্রয়োজনে নিয়মিত প্রকাশ এবং টেম্পলেটও নিয়োগ করতে পারে। ওহ, এবং এটি অবশ্যই কোনও পরিবর্তন করার আগে আপনাকে পূর্বরূপ দেয়।
এটি তৃতীয় বা চতুর্থ প্রশ্ন আমি সম্পূর্ণ কমান্ডারের সুপারিশের জবাব দিয়েছি ... তাদের কাছ থেকে আমার কমিশন নেওয়া উচিত ;-)
যে সরঞ্জামটির সাথে আমি সন্তুষ্ট হয়েছি তা হ'ল পুনঃনামার । এটি পুনরায় নামকরণের নিয়মগুলি সংরক্ষণকে সমর্থন করে, যা আমার পক্ষে কার্যকর ছিল, কারণ আমি অনেকবার একই নাম পরিবর্তন করি।
নীচে প্রথম ড্যাশের আগে কীভাবে পাঠ্য মুছতে হবে তার একটি উদাহরণ দেওয়া আছে তবে আপনি সংজ্ঞায়িত করতে পারেন এমন অন্যান্য নিয়মের প্রচুর পরিমাণ রয়েছে।
আমি এটির জন্য ভাল ফ্রি কমান্ডার পোর্টেবল (ফ্রিওয়্যার) ব্যবহার করেছি :
উন্নত ব্যবহারকারী এবং বিকাশকারীদের জন্য, আমি RegexRenamer এর পরামর্শ দেব ।
প্রো এর:
কন এর:
সবচেয়ে সহজ উপায় হ'ল পুনরায় নামকরণের মাস্টার ব্যবহার করা ।
এখানে একটি কমান্ড-লাইনের সমাধান --- ফাইল নামগুলিতে "নিদর্শন" দিয়ে কাজ করা সহজ করার জন্য একটি জাভা প্রোগ্রাম আমি লিখেছিলাম। এটি নিখরচায় এবং মুক্ত উত্স, সুতরাং এটিকে সংশোধন করতে নির্দ্বিধায়:
পুনরায় নামকরণ করুন
http://renamewand.sourceforge.net/
কিছু প্রাসঙ্গিক ব্যবহারের উদাহরণ:
"-"
ফাইলনামের আগে সবকিছু ফেলে দিন :
java -jar RenameWand.jar "<a> - <b>" "<b>"
ফাইল-নেমে একটি 3-অঙ্কের নম্বর প্রস্তুত করুন, শেষ-সংশোধিত সময় অনুসারে বাছাই করুন:
java -jar RenameWand.jar "<a>" "<3|#FT> <a>"
ফাইলের নামের অংশগুলি পুনরায় সাজানো এবং কেস পরিবর্তন করুন:
java -jar RenameWand.jar "<album> - <artist> - <song>.<ext>"
"<artist.upper> <album.title> - <song>.<ext.lower>"
আমি Cylog মত WildRename । এটি শক্তিশালী, তবুও ব্যবহার করা সহজ এবং এর অনেকগুলি বৈশিষ্ট্য রয়েছে:
উপরের @ জদানের মতো, আমি কমান্ড লাইনের মাধ্যমে এটি করেছি (উইন্ডোজে "cmd.exe" ব্যবহার করে)। এটি আমার বিশেষ মামলার জন্য কিছুটা ঝোঁক নিয়েছিল, তবে একটু গবেষণা এটি সমাধান করেছে।
জেডদানের মতো, আমি তালিকাটি একটি টিএক্সটি ফাইলে আউটপুট করি, তারপরে ব্যবহৃত হয় tokens
এবং delims
সেই অনুযায়ী ফাইলগুলির নাম পরিবর্তন করতে পারি। আমার ক্ষেত্রে, আমি এর মতো ফাইলগুলির তালিকা দিয়ে শুরু করেছি:
name-01-02-2012.csv
আমি চেয়েছিলাম ফাইলের তারিখের অংশটি y / m / d ক্রমে থাকতে হবে, শেষে "নাম" অংশটি যাতে এটি পড়তে পারে:
2012-01-02-name.csv
এই এন-মাস্স করতে, আমি নিম্নলিখিত কোডটি ব্যবহার করেছি। মনে রাখবেন যে এটি এভাবে করার সময়, ফাইলের সমস্ত অংশ বিবেচনা করা হবে, ".csv" এর এক্সটেনশন সহ। এটি আমাকে প্রথমবারের মতো বোকা বানিয়েছিল।
dir /B > fileList.txt
for /f "tokens=1,2,3,4,5 delims=-." %i in (fileList.txt) DO ren "%i-%j-%k-%l.%m" %l-%j-%k-%i.%m
দ্য tokens
ফাইলের নাম এর "অংশের" হয়, The delims
বিভাজক আছে। মনে রাখবেন যে আমার ক্ষেত্রে আমার 2 টি সীমানা (একটি ড্যাশ এবং একটি বিন্দু) ছিল।
আমি ব্যক্তিগতভাবে "বাল্ক নামকরণ" অ্যাপ্লিকেশনটির যত্ন নিই না। অন্যরা যেমন উল্লেখ করেছেন, জিইউআই নৃশংস এবং খুব স্বজ্ঞাত নয়। অল্প গবেষণা এবং সাধারণ কোডিংয়ের সাহায্যে এই জিনিসগুলি দক্ষ ও দ্রুততার সাথে অনেকটা করা যায়।
মজাদার নাম এবং কমান্ড লাইন সরঞ্জামটি খুব শক্তিশালী, খুব দ্রুত এবং ব্যবহারের পক্ষে অত্যন্ত সহজ। "পাঠ্যটি সন্ধান করুন এবং প্রতিস্থাপন করুন" FART http://fart-it.sourceforge.net/ ওয়ার্কস গ্রেট! txt ফাইলগুলিতে শব্দগুলিরও নাম পরিবর্তন করতে পারে।
Usage: FART [options] [--] <wildcard>[,...] [find_string] [replace_string]
Options:
-h --help Show this help message (ignores other options)
-q --quiet Suppress output to stdio / stderr
-V --verbose Show more information
-r --recursive Process sub-folders recursively
-c --count Only show filenames, match counts and totals
-i --ignore-case Case insensitive text comparison
-v --invert Print lines NOT containing the find string
-n --line-number Print line number before each line (1-based)
-w --word Match whole word (uses C syntax, like grep)
-f --filename Find (and replace) filename instead of contents
-B --binary Also search (and replace) in binary files (CAUTION)
-C --c-style Allow C-style extended characters (\xFF\0\t\n\r\\ etc.)
--cvs Skip cvs dirs; execute "cvs edit" before changing files
-a --adapt Adapt the case of replace_string to found string
-b --backup Make a backup of each changed file
-p --preview Do not change the files but print the changes
-f
বিকল্প হিসাবে, তালিকাভুক্ত।
একাধিক পুনর্নবীকরণ স্ক্রিপ্ট হ'ল টোটাল কমান্ডার্স মাল্টি পুনর্নবীকরণ সরঞ্জামটির ওপেন সোর্স বিকল্প যা আপনি স্ক্রিপ্টের মাধ্যমে চালনা করতে পারেন। এটি মেটাডেটা তথ্যের জন্য টিসি প্লাগইন ব্যবহার করতে পারে।
@ কেচো অফ সেটলোকাল সক্ষম এক্স = 5 সেট করুন FOLDER_PATH = সেট করুন। % FOLDER_PATH% ধাক্কা %% f এর জন্য (*) করুন যদি %% f neq% ~ nx0 ( "ফাইলের নাম = %% f nf" সেট করুন "ফাইলের নাম =! ফাইলের নাম সেট করুন: X% এক্স%!" "%% f" "ফাইলের নাম! %% ~ xf" ) popd
এটি একটি ব্যাচ ফাইলে সংরক্ষণ করুন এবং চালান
set /p "X=Enter the value for X: "
আমি কোনও বিশ্ববিদ্যালয়ে কোর্স পরিচালনা করতে ব্ল্যাকবোর্ড ব্যবহার করি। যখন আমি একটি অ্যাসাইনমেন্টটি ভরতে ডাউনলোড করি (ব্ল্যাকবোর্ডে, গ্রেডিং কলামের শীর্ষে ক্লিক করুন, তারপরে "অ্যাসাইনমেন্ট ফাইল ডাউনলোড করুন" ব্ল্যাকবোর্ড ফাইলের নামটিতে অতিরিক্ত স্টাফের একগুচ্ছ যোগ করে - ফাইলটির নামটি উইন্ডোতে বৈধ হওয়ার জন্য খুব দীর্ঘ।
তারা দেখতে কেমন তা এখানে দেখুন:
Recitation20Assignment_studentname_attempt_2013-03-01-20-03-09_Exercise28129.docx
এবং এই আমি চেয়েছিলেন
studentname.docx
সুতরাং আমি @zdan এবং @ gtr1971 এর পরামর্শের পদ্ধতিকে ব্যবহার করেছি, ফোল্ডারে ভিতরে কমান্ড উইন্ডোটি খুলতে (সিএমডি.এক্সই)। তারপরে একটি নথিতে সমস্ত ফাইলের নাম রাখতে এই কমান্ডটি চালান।
dir /b >filelist.txt
দস্তাবেজটি সম্পাদনা করুন এবং ফোল্ডারের নাম ইত্যাদি মুছে দিন
ব্ল্যাকবোর্ড যুক্ত ফাইল নাম স্টাফটি কেবলমাত্র ব্যবহারকারীর নাম এবং ফাইল এক্সটেনশান সহ প্রতিস্থাপন করতে এই আদেশটি ব্যবহার করুন।
for /f "tokens=1,2,3,4,5,6 delims=_." %i in (filelist.txt) do ren "%i _%j_%k_%l_%m.%n" %j.%n
আশা করি এটি অন্য কাউকেও সহায়তা করবে।
এখানে ফাইল অ্যাট্রিবিউট চেঞ্জার নামে আরও একটি সাধারণ প্রোগ্রাম রয়েছে যা আপনি ফাইলগুলির নাম পরিবর্তন করতে ব্যবহার করতে পারেন। এটি একটি বহনযোগ্য প্রোগ্রাম, যাতে আপনি এটি একটি USB ড্রাইভে বহন করতে পারেন।
আমি JREN.BAT নামে একটি হাইব্রিড জেএসক্রিপ্ট / ব্যাচ কমান্ড লাইন ইউটিলিটি তৈরি করেছি যা নিয়মিত এক্সপ্রেশন অনুসন্ধান করে ফাইল বা ফোল্ডারগুলির নাম পরিবর্তন করতে পারে এবং নামগুলি প্রতিস্থাপন করতে পারে। এটি খাঁটি স্ক্রিপ্ট যা এক্সপি ফরোয়ার্ড থেকে যে কোনও উইন্ডোজ মেশিনে নেটিভভাবে চলবে। সম্পূর্ণ ডকুমেন্টেশন স্ক্রিপ্ট মধ্যে এম্বেড করা হয়।
ধরে নিই JREN.BAT আপনার বর্তমান ডিরেক্টরিতে আছে, বা আরও ভাল, আপনার পথের মধ্যে কোথাও রয়েছে, তবে আপনার নামকরণ কাজটি তুচ্ছ হয়ে ওঠে।
jren "^\d+[ -]+(.+)\.txt$" "$1" /i
অথবা
jren "^\d+[ -]+(?=.+\.)" "" /fm "*.txt"
অপশনগুলি সহ অনেকগুলি বিকল্প রয়েছে যা /S
উপ-ডিরেক্টরিতে পুনরাবৃত্তভাবে পুনরায় নামকরণ করে।
আপনার যদি গুরুতর শক্তির প্রয়োজন হয় এবং আপনি অর্থটি বের করতে ইচ্ছুক হন ... পাওয়ারগ্রিপ বাজারের অন্যতম শক্তিশালী এবং বহুমুখী সরঞ্জামগুলির মধ্যে ... আপনি পাওয়ারগ্রিপ দিয়ে প্রায় কোনওটির নাম পরিবর্তন করতে পারেন ... এমনকি বাইনারি অনুসন্ধান এবং প্রতিস্থাপন করতে পারেন ... এটি রেগেক্স গুরু, জন গোয়েভার্টস দ্বারা নির্মিত ।