it-swarm.asia

كيف يمكنني إعادة تسمية الملفات بشكل جماعي؟

لدي مجموعة من الملفات المسماة بنمط 99 - DescriptiveName.txt وأرغب في إزالة الرقم من المقدمة حتى يكون لدي DescriptiveName.txt.

كيف يمكنني أن أفعل هذا؟ هل يمكنني القيام بذلك من سطر الأوامر أو هل هناك أداة يمكن أن تفعل هذا؟

124
BIBD

أعلم في عنوانك أنك تقول "في دوس" ولكن لدي انطباع بأنك تبحث فقط عن طريقة للقيام بذلك وتتساءل عما إذا كانت هذه هي أفضل طريقة.

أفضل أداة مطلقة وجدتها لهذا هي { Bulk Rename Utility .

Bulk Rename Utility

إنها ليست أداة لسطر الأوامر ، لكن لديها إصدار سطر الأوامر إذا كنت حقًا تريد استخدامها بهذه الطريقة.

لقد استخدمت إصدار واجهة المستخدم الرسومية كثيرًا ، وهي قوية جدًا وسريعة جدًا وسهلة الاستخدام للغاية.

أوه ، وهومجانيللاستخدام الشخصي.

93
Jim McKeeth

نص PowerShell صغير:

$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }

مع تعبيرات منتظمة أكثر تعقيدًا ، قد يصبح هذا شيئًا مثل:

ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*).mp3', '$2 - $1.mp3' }

الذي يحول أشياء مثل "01 - Beginning.mp3" إلى "Beginning - 01.mp3".

استخدم المعلمة -WhatIf في Rename-Item للتحقق من إعادة التسمية قبل إصدارها.

56
Joey

AntRenamer يجعل من السهل للغاية تحديد نمط من إعادة تسمية. هناك الكثير من الإجراءات التي تم إعدادها بالفعل (وتعطي معاينة للإجراءات):

AntRenamer

مجانا للاستخدام الشخصي والتجاري.

24
Gnoupi

إذا كنت تريد حقًا استخدام سطر أوامر windows (إذا كنت لا ترغب في تنزيل شيء ما) ، فيمكنك القيام بذلك مثل هذا:

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

يخرج السطر الأول قائمة الملفات في ملف يسمى fileList.txt. يفصل السطر الثاني كل اسم من الأسماء في القائمة إلى 3 أجزاء ، و # ، و "-" وبقية الاسم. لكل من يفعل ذلك الأمر إعادة تسمية.

24
zdan

مدرسة قديمة:

يمكنك القيام DIR وإعادة توجيه الإخراج إلى ملف ، كما هو الحال في DIR * .TXT> TEMP.BAT

ثم استخدم محررًا لاستخراج ما لا تحتاجه وتعديل الأجزاء التي تحتاجها. أضف "echo off" باعتباره السطر العلوي ، واحفظه وقم بتشغيله.

19
WireGuy

خيار آخر:ملف الضخم رنمر

انها تسمح بسهولة إعادة تسمية متعددة الملفات وملحقات الملفات . انها سريعة جدا وبسيطة!

للمستخدمين والمطورين المتقدمين ، من الممكن استخدام التعبيرات العادية .

نرى ذلك في العمل:

enter image description here

16
IvanRF

أستخدم Total Commander أداة إعادة تسمية متعددة (ctrl + M) لأشياء مثل هذه. هذه الأداة المفيدة ، والتي تعد واحدة من أدوات كثيرة يمكن حسابها ، سهلة الاستخدام ، ويمكنها أيضًا استخدام تعبيرات وقوالب منتظمة إذا لزم الأمر. أوه ، ومن الواضح أنه يوفر لك معاينة قبل إجراء أي تغييرات.

هذا هو السؤال الثالث أو الرابع الذي أجبت عليه وأوصيك بتوصيف قائد المجموع ... يجب أن أحصل على عمولة منهم ؛-)

13
Yuval

الأداة التي كنت راضيا عنها هي ReNamer . كما يدعم حفظ قواعد إعادة التسمية ، والتي كانت مفيدة لي ، كما أفعل عدة مرات نفس عمليات إعادة التسمية.

يوجد أدناه مثال على كيفية حذف النص قبل الشرطة الأولى ، ولكن هناك الكثير من القواعد الأخرى التي يمكنك تحديدها.

enter image description here

11
Esko Luontola

لقد استخدمت Free Commander Portable (مجانية) لهذا التأثير الجيد:

  1. حدد أو انتقل إلى الملفات أو الدلائل لإعادة تسميتها
  2. اضغط [Ctrl-M] (أو ملف> إعادة تسمية متعددة)
  3. ملء الحقول كما المنطقي لظروفك
  4. التحقق من معاينة يظهر ما تتوقعه
  5. اذهب!
5
matt wilkie

للمستخدمين المتقدمين والمطورين ، أود أن أقترح RegexRenamer .

RegexRenamer screenshot

المؤيد:

  • واجهة مستخدم بسيطة للغاية ؛
  • التعبيرات العادية التي يعرفها المطورون ؛
  • GLPv2 بشكل.

سلبيات:

  • انها ليست سطر الأوامر! :)
4
bytebuster

اكتشفت RenPhoric منذ حوالي شهر. رائع. و مجاني .

لا واجهة معقدة وكنت بسرعة قادرة على إعادة تسمية بالضبط كما أردت. التعبير العادي قادر. لم تستخدم أي شيء آخر منذ ذلك الحين.

3
Umber Ferrule

أسهل طريقة هي استخدام إعادة تسمية Master .

3
Kevin Panko

إليكسطر الأوامرالحل --- برنامج جافا كتبته خصيصًا لتسهيل العمل مع "الأنماط" في أسماء الملفات. إنه مجاني ومفتوح المصدر ، لذلك لا تتردد في تعديله:

RenameWand
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
Zach Scrivena

مثلzdan أعلاه ، لقد فعلت ذلك بسطر الأوامر (باستخدام "cmd.exe" في نظام التشغيل Windows). استغرق الأمر بعض العبث لحالتي الخاصة ، ولكن القليل من البحث حلها.

مثل zdan ، أخرج القائمة إلى ملف TXT ، ثم استخدمت tokens و delims لإعادة تسمية الملفات وفقًا لذلك. في حالتي ، بدأت مع قائمة من الملفات المسماة مثل:

name-01-02-2012.csv

أردت أن يكون جزء تاريخ الملف بترتيب سنوي/سنوي ، مع وجود جزء "الاسم" في النهاية بحيث يصبح نصه كما يلي:

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 هي "أجزاء" من اسم الملف ، delims هي الفواصل. لاحظ أنه في حالتي ، كان لدي محددان (شرطة و نقطة).

أنا شخصياً لا أهتم لتطبيق "إعادة تسمية بالجملة". كما ذكر آخرون ، فإن واجهة المستخدم الرسومية فظيعة وغير بديهية للغاية. مع القليل من البحث والترميز البسيط ، يمكن إجراء هذه الأمور كثيرًا بسرعة وكفاءة.

2
gtr1971

مضحك اسم وأداة سطر الأوامر قوية جدا وسريعة جدا وسهلة الاستخدام للغاية. "البحث عن نص واستبداله" FART http://fart-it.sourceforge.net/ WORKS GREAT! يمكن إعادة تسمية الكلمات في ملفات النص أيضا.

الاستعمال

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
2
user212780

البرنامج النصي لإعادة تسمية Multi هو بديل مفتوح المصدر لأداة Total Commanders Multi Rename التي يمكن أن تقودها عبر البرنامج النصي. يمكن استخدام ملحقات TC للحصول على معلومات التعريف.

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

2
majkinetor
 @ صدى إيقاف 
 setlocal enableelayedexpansion 
 set X = 5 
 set FOLDER_PATH =. 
 f in (*) افعل إذا قام ٪٪ f neq٪ ~ nx0 (
 بتعيين "اسم الملف = ٪٪ ~ nf" 
 تعيين "اسم الملف =! اسم الملف: ~٪ X٪!" [. .] ren "٪٪ f" "! filename! ٪٪ ~ xf" 
) 
 popd 
 

حفظ هذا في ملف دفعي وتشغيله

2
bbm123

أنا أحب Cylog WildRename . إنه قوي ، لكنه سهل الاستخدام ، ويحتوي على الكثير من الميزات:

  1. بسرعة
  2. سلسلة التلاعب
  3. عدادات
  4. البدل
  5. تعبيرات منتظمة
  6. الاستبدال
  7. حالة التحويل
  8. تسجيل
  9. المحاكاة (عرض النتائج دون تطبيقها فعليًا)

enter image description here

2
Synetech

يمكنني استخدام Blackboard لإدارة الدورات في الجامعة. عندما أقوم بتنزيل مهمة بكميات كبيرة (في Blackboard ، انقر فوق أعلى عمود التقدير ، ثم "تنزيل ملف المهمة" ، تضيف Blackboard مجموعة من العناصر الإضافية إلى اسم الملف - مما يجعل اسم الملف طويلًا جدًا بحيث لا يكون صالحًا على Windows.

إليك ما تبدو عليه:

Recitation20Assignment_studentname_attempt_2013-03-01-20-03-09_Exercise28129.docx

وهذا ما أردت

studentname.docx

لذلك استخدمت النهج الذي نصحتهzdan و @ gtr1971 ، من خلال فتح نافذة أمر على المجلد مع الملفات الموجودة داخل (CMD.EXE). ثم قم بتشغيل هذا الأمر لوضع جميع أسماء الملفات في وثيقة.

dir /b >filelist.txt

تحرير المستند وإزالة أسماء المجلدات ، إلخ.

استخدم هذا الأمر لاستبدال عناصر أسماء ملفات Blackboard المضافة باسم المستخدم واسم الملف.

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
Webmentorman

لقد قمت بتطوير أداة سطر أوامر JScript/batch مختلطة تسمى JREN.BAT يمكنها إعادة تسمية الملفات أو المجلدات عن طريق إجراء بحث تعبير عادي واستبدال الأسماء. إنه برنامج نصي خالص سيتم تشغيله محليًا على أي جهاز يعمل بنظام Windows من XP إلى الأمام. يتم تضمين وثائق كاملة داخل البرنامج النصي.

على افتراض أن JREN.BAT موجود في الدليل الحالي الخاص بك ، أو الأفضل من ذلك ، في مكان ما داخل المسار الخاص بك ، تصبح مهمة إعادة التسمية تافهة.

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

أو

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

هناك العديد من الخيارات ، بما في ذلك الخيار /S الذي يؤدي بشكل متكرر إعادة تسمية على الدلائل الفرعية.

1
dbenham

إليك برنامج بسيط آخر يسمى File Attribute Changer يمكنك استخدامه لإعادة تسمية الملفات. إنه برنامج محمول ، بحيث يمكنك حمله على محرك أقراص USB.

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

1
Brian

إذا كنت بحاجة إلى قوة جادة وترغب في شل الأموال ... PowerGrep هي واحدة من أقوى الأدوات وتنوعها في السوق ... يمكنك إعادة تسمية أي شيء تقريبًا باستخدام PowerGrep ... حتى البحث الثنائي و استبدال ... تم إنشاؤه بواسطة RegEx Guru ، Jan Goyvaerts .

enter image description here

0
Eddie B