আমি কীভাবে ফাইলগুলিকে পুনরায় নামকরণ করতে পারি?


126

আমি একটি প্যাটার্নের সাথে নামযুক্ত একগুচ্ছ ফাইল পেয়েছি 99 - DescriptiveName.txtএবং আমি সামনে থেকে নম্বরটি সরিয়ে ফেলতে চাই যাতে আমার কাছে ঠিক আছে DescriptiveName.txt

কিভাবে আমি এটি করতে পারব? আমি কি কমান্ড লাইন থেকে এটি করতে পারি বা এমন কোনও ইউটিলিটি রয়েছে যা এটি করতে পারে?

উত্তর:


94

আমি জানি আপনার শিরোনামে আপনি "ডস ইন" বলছেন তবে আমি এই ধারণাটি পেয়েছি যে আপনি এটি করার জন্য কেবল একটি উপায় সন্ধান করছেন এবং ভাবছেন যে এটিই সেরা উপায়।

এর জন্য আমি যে নিখুঁত সেরা সরঞ্জামটি পেয়েছি তা হ'ল বাল্ক নামকরণের ইউটিলিটি

বাল্ক নামকরণের ইউটিলিটি

এটি কোনও কমান্ড লাইন সরঞ্জাম নয়, তবে আপনি যদি সত্যিই সেভাবে এটি ব্যবহার করতে চান তবে তাদের কাছে একটি কমান্ড লাইন সংস্করণ রয়েছে

আমি জিইউআই সংস্করণটি অনেক ব্যবহার করেছি এবং এটি খুব শক্তিশালী, খুব দ্রুত এবং ব্যবহার করা অত্যন্ত সহজ।

ওহ, এবং এটি ব্যক্তিগত ব্যবহারের জন্য নিখরচায়


দুর্ভাগ্যক্রমে সরঞ্জামটি বাণিজ্যিক ব্যবহারের জন্য নিখরচায় নয় :(
অ্যান্টোনকে

এজন্য আমি বলেছিলাম এটি ব্যক্তিগত ব্যবহারের জন্য বিনামূল্যে was
জিম ম্যাককিথ 21

2
এটি সুপার-কুইক টুল। এটি বেশ কয়েকটি অনুসন্ধান-ও-প্রতিস্থাপন লজিক ব্যবহার করে সেকেন্ডে আমার 6.000 ফাইলের সমস্যা সমাধান করেছে। নোটপ্যাড ++ ব্যবহার করার মতো তবে হাজার হাজার ফাইল সম্পাদনা করা। একটি দুর্দান্ত সমাধান, ধন্যবাদ!
চিনাবাদাম

59

একটি ছোট পাওয়ারশেল লিপি:

$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পুনরায় নামগুলি পরীক্ষা করতে ব্যবহার করুন।


1
@ সিসারকিবি, দয়া করে আরও কিছু গবেষণা করুন।
জোয়ি

প্রতিস্থাপনের জন্য দুটি স্ট্রিং এক্সপ্রেশন প্রয়োজন হয় না? দ্বিতীয়টির দুটি আছে, প্রথমটি নেই। ... -replace '\d+ - ',''। এছাড়াও, আমি বিশ্বাস করি যে প্রথমটি আরও ভাল, কেবলমাত্র রেগেক্স ব্যবহার শুরু করে। যদিও আমি বিশ্বাস করি আপনার প্রকাশের শুরুতে অ্যাঙ্করটি অন্তর্ভুক্ত করা উচিত সুতরাং এটি কেবল সংখ্যার সাথে শুরু হওয়া নামের সাথে মেলে।
জালরাস

1
@ কলরস: আচ্ছা, আপনি এটি চেষ্টা করে দেখতে পারেন। -replaceডানদিকে কেবল একটি যুক্তি থাকতে পারে, সেক্ষেত্রে দ্বিতীয়টি স্পষ্টতই খালি স্ট্রিং।
জো

এটি আমাকে বাঁচিয়েছে .. বাল্ক নামকরণের ইউটিলিটি এখনই ক্র্যাশ করেছে এবং আমি আরও অনেকগুলি সমাধানের চেষ্টা করেছি। যারা রিজেক্সেপ নিয়ে স্বাচ্ছন্দ্য বোধ করেন তাদের পক্ষে এটি আরও ভাল। তোমাকে অনেক ধন্যবাদ !!
ইনখ সু টেসু

24

আপনি যদি সত্যিই উইন্ডোজ কমান্ড লাইনটি ব্যবহার করতে চান (আপনি যদি কিছু ডাউনলোড করতে না চান), আপনি এটি এটি করতে পারেন:

dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l

প্রথম লাইনটি ফাইললাইস্ট.টেক্সট নামে একটি ফাইলের মধ্যে ফাইলগুলির তালিকা আউটপুট করে। দ্বিতীয় রেখার তালিকার প্রতিটি নাম পৃথক করে 3 অংশ, #, "" "এবং বাকী নামের মধ্যে রাখে তাদের প্রত্যেকের জন্য এটি পুনর্নবীকরণ কমান্ড করে।


2
সরল করার জন্য প্রথম লাইনটি সরান এবং করুন:for /f "tokens=1,2,3" %i in ('dir /B') DO ren "%i %j %l" %l

আমি জানি এটি পুরানো তবে এটি এখনও একটি শক্ত উত্তর - কেবল% l (% L)% কে (% কে) হওয়া উচিত [% i (% I) থেকে টোকেন বর্ধন সুতরাং আমি, জে, কে ...]
ডোনাল্ড বাইার্ড

24

এন্ট্রেনামার নামকরণের একটি প্যাটার্ন সংজ্ঞা দেওয়া বেশ সহজ করে তোলে; ইতিমধ্যে প্রস্তুত প্রচুর আছে (এবং এটি ক্রিয়াকলাপগুলির পূর্বরূপ দেয়):

AntRenamer

ব্যক্তিগত এবং বাণিজ্যিক ব্যবহারের জন্য বিনামূল্যে।


19

পুরানো স্কুল:

আপনি একটি ডিআইআর করতে পারেন এবং আউটপুটটিকে কোনও ফাইলে ডাইরেক্ট করতে পারেন, যেমন ডিআইআর * .TXT> TEMP.BAT

তারপরে আপনার যা প্রয়োজন হবে না তা বের করতে এবং আপনার প্রয়োজনীয় অংশগুলি সংশোধন করতে একটি সম্পাদক ব্যবহার করুন। শীর্ষ লাইন হিসাবে একটি "@echo অফ" যুক্ত করুন, এটি সংরক্ষণ করুন এবং এটি চালান।


আমি এই পৃষ্ঠায় একটি পুরাতন-ডক্টরেট থেকে রেফারেন্স পেয়েছি: ডাস্টিপস / ডসকম্যান্ডআইন্ডেক্সHtm ; আপনি (ভাল?) পুরানো ডস দিয়ে যা করতে পারেন তা আশ্চর্যজনক!
নিক

16

আরেকটি বিকল্প: বিশাল ফাইল পুনর্নামকরণকারী

এটি সহজেই একাধিক ফাইল এবং ফাইল এক্সটেনশনের নাম পরিবর্তন করতে দেয় । এটি খুব দ্রুত এবং সহজ!

উন্নত ব্যবহারকারী এবং বিকাশকারীদের জন্য, নিয়মিত এক্সপ্রেশন ব্যবহার করা সম্ভব ।

এটি কর্মে দেখুন:

এখানে চিত্র বর্ণনা লিখুন


1
বিটিডব্লিউ সাবফোল্ডারগুলির মধ্যে সমস্ত ফাইল খোলার জন্য কীভাবে আমরা এটি নির্বাচন করতে পারি? আমি প্রায় 50 টি সাবফোল্ডার (পুনরাবৃত্তভাবে) এবং এর মধ্যে একাধিক ফাইলের সাথে একটি মূল ফোল্ডার পেয়েছি।
পেসারিয়ার

1
@ পেসারিয়র আমি মনে করি জাভা ফাইল চয়নকারী এটির অনুমতি দেয় না। আমার কাছে একটি ফোল্ডার নির্বাচন করার অনুমতি দেওয়ার ধারণা ছিল এবং পুনরাবৃত্ত অনুসন্ধানগুলি অন্তর্ভুক্ত করা যেতে পারে। আমি এটি নোট করব এবং এটি একটি ভবিষ্যতের প্রকাশে যুক্ত করব!
ইভানআরএফ

13

আমি এই জাতীয় জিনিসের জন্য টোটাল কমান্ডারের বহু-নামকরণ সরঞ্জাম (সিটিআরএল + এম) ব্যবহার করি। তাদের দরকারী সরঞ্জাম, গণনা করা খুব অনেকের একটি, ব্যবহার করা সহজ, এবং প্রয়োজনে নিয়মিত প্রকাশ এবং টেম্পলেটও নিয়োগ করতে পারে। ওহ, এবং এটি অবশ্যই কোনও পরিবর্তন করার আগে আপনাকে পূর্বরূপ দেয়।

এটি তৃতীয় বা চতুর্থ প্রশ্ন আমি সম্পূর্ণ কমান্ডারের সুপারিশের জবাব দিয়েছি ... তাদের কাছ থেকে আমার কমিশন নেওয়া উচিত ;-)


11

যে সরঞ্জামটির সাথে আমি সন্তুষ্ট হয়েছি তা হ'ল পুনঃনামার । এটি পুনরায় নামকরণের নিয়মগুলি সংরক্ষণকে সমর্থন করে, যা আমার পক্ষে কার্যকর ছিল, কারণ আমি অনেকবার একই নাম পরিবর্তন করি।

নীচে প্রথম ড্যাশের আগে কীভাবে পাঠ্য মুছতে হবে তার একটি উদাহরণ দেওয়া আছে তবে আপনি সংজ্ঞায়িত করতে পারেন এমন অন্যান্য নিয়মের প্রচুর পরিমাণ রয়েছে।

এখানে চিত্র বর্ণনা লিখুন


5

আমি এটির জন্য ভাল ফ্রি কমান্ডার পোর্টেবল (ফ্রিওয়্যার) ব্যবহার করেছি :

  1. পুনরায় নামকরণ করতে ফাইল বা ডিরেক্টরিতে নির্বাচন করুন বা নেভিগেট করুন
  2. [Ctrl-M] টিপুন (বা ফাইল> একাধিক নাম পরিবর্তন করুন)
  3. ক্ষেত্রগুলি পূরণ করুন যেমন আপনার পরিস্থিতিটি বোঝায়
  4. প্রাকদর্শন যাচাই করে আপনি যা প্রত্যাশা করেন তা দেখায়
  5. প্রবেশপথ!

4

উন্নত ব্যবহারকারী এবং বিকাশকারীদের জন্য, আমি RegexRenamer এর পরামর্শ দেব

RegexRenamer স্ক্রিনশট

প্রো এর:

  • খুব সাধারণ ইউআই;
  • বিকাশকারীদের সাথে নিয়মিত প্রকাশ;
  • GPLv2;

কন এর:

  • এটি কোনও কমান্ড লাইন নয়! :)

নির্বাচিত ফোল্ডারের সমস্ত সাবফোল্ডারগুলির জন্য এটি পুনরাবৃত্তভাবে কাজ করতে পারেনি!
ভাগ্যবানী


3

এখানে একটি কমান্ড-লাইনের সমাধান --- ফাইল নামগুলিতে "নিদর্শন" দিয়ে কাজ করা সহজ করার জন্য একটি জাভা প্রোগ্রাম আমি লিখেছিলাম। এটি নিখরচায় এবং মুক্ত উত্স, সুতরাং এটিকে সংশোধন করতে নির্দ্বিধায়:

পুনরায় নামকরণ করুন
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>"

3

আমি প্রায় এক মাস আগে রেনফোরিক আবিষ্কার করেছি । চমত্কার। এবং এটি বিনামূল্যে

কোনও জটিল ইন্টারফেস নেই এবং আমি দ্রুত যা চাইছিলাম ঠিক তেমন নামকরণ করতে সক্ষম হয়েছি। নিয়মিত এক্সপ্রেশন সক্ষম। এর পর থেকে আর কিছু ব্যবহার করা হয়নি।


2

আমি Cylog মত WildRename । এটি শক্তিশালী, তবুও ব্যবহার করা সহজ এবং এর অনেকগুলি বৈশিষ্ট্য রয়েছে:

  1. দ্রুত
  2. স্ট্রিং ম্যানিপুলেশন
  3. কাউন্টারে
  4. ওয়াইল্ডকার্ড
  5. নিয়মিত অভিব্যক্তি
  6. প্রতিকল্পন
  7. কেস-রূপান্তর
  8. লগিং
  9. সিমুলেশন (ফলাফলগুলি প্রয়োগ না করে ফলাফলগুলি দেখান)

এখানে চিত্র বর্ণনা লিখুন


2

উপরের @ জদানের মতো, আমি কমান্ড লাইনের মাধ্যমে এটি করেছি (উইন্ডোজে "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 টি সীমানা (একটি ড্যাশ এবং একটি বিন্দু) ছিল।

আমি ব্যক্তিগতভাবে "বাল্ক নামকরণ" অ্যাপ্লিকেশনটির যত্ন নিই না। অন্যরা যেমন উল্লেখ করেছেন, জিইউআই নৃশংস এবং খুব স্বজ্ঞাত নয়। অল্প গবেষণা এবং সাধারণ কোডিংয়ের সাহায্যে এই জিনিসগুলি দক্ষ ও দ্রুততার সাথে অনেকটা করা যায়।


2

মজাদার নাম এবং কমান্ড লাইন সরঞ্জামটি খুব শক্তিশালী, খুব দ্রুত এবং ব্যবহারের পক্ষে অত্যন্ত সহজ। "পাঠ্যটি সন্ধান করুন এবং প্রতিস্থাপন করুন" FART http://fart-it.sourceforge.net/ ওয়ার্কস গ্রেট! txt ফাইলগুলিতে শব্দগুলিরও নাম পরিবর্তন করতে পারে।

, USAGE

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বিকল্প হিসাবে, তালিকাভুক্ত।
ব্যবহারকারী 1016274

2

একাধিক পুনর্নবীকরণ স্ক্রিপ্ট হ'ল টোটাল কমান্ডার্স মাল্টি পুনর্নবীকরণ সরঞ্জামটির ওপেন সোর্স বিকল্প যা আপনি স্ক্রিপ্টের মাধ্যমে চালনা করতে পারেন। এটি মেটাডেটা তথ্যের জন্য টিসি প্লাগইন ব্যবহার করতে পারে।

https://code.google.com/p/multi-rename-script/ http://multi-rename-script.googlecode.com/svn/trunk/docs/res/MRS.PNG


2
@ কেচো অফ
সেটলোকাল সক্ষম
এক্স = 5 সেট করুন
FOLDER_PATH = সেট করুন।
% FOLDER_PATH% ধাক্কা
%% f এর জন্য (*) করুন যদি %% f neq% ~ nx0 (
    "ফাইলের নাম = %% f nf" সেট করুন
    "ফাইলের নাম =! ফাইলের নাম সেট করুন: X% এক্স%!"
    "%% f" "ফাইলের নাম! %% ~ xf"
)
popd

এটি একটি ব্যাচ ফাইলে সংরক্ষণ করুন এবং চালান


এটি ভাল, তবে আমি কীভাবে এক্সকে পরিবর্তনশীল করতে পারি (প্যারামিটার হিসাবে পাস করতে পারি)?
কংকান

@ কাঙ্ককান এটি পছন্দ করেছেন:set /p "X=Enter the value for X: "
কিডকিক

1

আমি কোনও বিশ্ববিদ্যালয়ে কোর্স পরিচালনা করতে ব্ল্যাকবোর্ড ব্যবহার করি। যখন আমি একটি অ্যাসাইনমেন্টটি ভরতে ডাউনলোড করি (ব্ল্যাকবোর্ডে, গ্রেডিং কলামের শীর্ষে ক্লিক করুন, তারপরে "অ্যাসাইনমেন্ট ফাইল ডাউনলোড করুন" ব্ল্যাকবোর্ড ফাইলের নামটিতে অতিরিক্ত স্টাফের একগুচ্ছ যোগ করে - ফাইলটির নামটি উইন্ডোতে বৈধ হওয়ার জন্য খুব দীর্ঘ।

তারা দেখতে কেমন তা এখানে দেখুন:

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

আশা করি এটি অন্য কাউকেও সহায়তা করবে।


1

এখানে ফাইল অ্যাট্রিবিউট চেঞ্জার নামে আরও একটি সাধারণ প্রোগ্রাম রয়েছে যা আপনি ফাইলগুলির নাম পরিবর্তন করতে ব্যবহার করতে পারেন। এটি একটি বহনযোগ্য প্রোগ্রাম, যাতে আপনি এটি একটি USB ড্রাইভে বহন করতে পারেন।

http://www.softpedia.com/get/Desktop-Enhancements/Other-Desktop-Enhancements/File-Attribute-Changer.shtml


1

আমি JREN.BAT নামে একটি হাইব্রিড জেএসক্রিপ্ট / ব্যাচ কমান্ড লাইন ইউটিলিটি তৈরি করেছি যা নিয়মিত এক্সপ্রেশন অনুসন্ধান করে ফাইল বা ফোল্ডারগুলির নাম পরিবর্তন করতে পারে এবং নামগুলি প্রতিস্থাপন করতে পারে। এটি খাঁটি স্ক্রিপ্ট যা এক্সপি ফরোয়ার্ড থেকে যে কোনও উইন্ডোজ মেশিনে নেটিভভাবে চলবে। সম্পূর্ণ ডকুমেন্টেশন স্ক্রিপ্ট মধ্যে এম্বেড করা হয়।

ধরে নিই JREN.BAT আপনার বর্তমান ডিরেক্টরিতে আছে, বা আরও ভাল, আপনার পথের মধ্যে কোথাও রয়েছে, তবে আপনার নামকরণ কাজটি তুচ্ছ হয়ে ওঠে।

jren "^\d+[ -]+(.+)\.txt$" "$1" /i

অথবা

jren "^\d+[ -]+(?=.+\.)" "" /fm "*.txt"

অপশনগুলি সহ অনেকগুলি বিকল্প রয়েছে যা /Sউপ-ডিরেক্টরিতে পুনরাবৃত্তভাবে পুনরায় নামকরণ করে।


0

আপনার যদি গুরুতর শক্তির প্রয়োজন হয় এবং আপনি অর্থটি বের করতে ইচ্ছুক হন ... পাওয়ারগ্রিপ বাজারের অন্যতম শক্তিশালী এবং বহুমুখী সরঞ্জামগুলির মধ্যে ... আপনি পাওয়ারগ্রিপ দিয়ে প্রায় কোনওটির নাম পরিবর্তন করতে পারেন ... এমনকি বাইনারি অনুসন্ধান এবং প্রতিস্থাপন করতে পারেন ... এটি রেগেক্স গুরু, জন গোয়েভার্টস দ্বারা নির্মিত ।

এখানে চিত্র বর্ণনা লিখুন


এই ইউটিলিটি অত্যন্ত ব্যয়বহুল ...
উইজার্ড Aug৯

আপনি এটি অনির্দিষ্টকালের জন্য নিখরচায় ব্যবহার করতে পারেন ... তবে এটির পক্ষে এটি উপযুক্ত ... আমি এটি সর্বদা ব্যবহার করি।
এডি বি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.