سؤال سطر أوامر أو دفعي كمد لسَلسَلة ملفات متعددة


لدي 50 ملف نصي في دليل واحد.

هل هناك طريقة سطر أوامر Windows لسَلسَلة تلك الملفات في ملف واحد؟

انا استخدم ويندوز فيستا.

لا أريد كتابة اسم جميع الملفات.


91
2018-02-22 01:59


الأصل


أي إصدار من DOS تستخدمه؟ :) c'mon ، اعطونا بعض المعلومات الإضافية ، ما أنواع الملفات ... من الواضح أنك تبحث عن طريقة لدمج تلك الملفات.
يتم تحرير المشاركة - Mirage
DOS في نظام التشغيل المستندة إلى نظام التشغيل Windows NT (NT ، 2000 ، وكل شيء منذ XP) ليس حقا دوس ، بل هو قذيفة الأمر يسمى "cmd.exe". إزالة DOS علامات لتعكس هذا. - quack quixote
آسف على ذلك ، أنا حقا لم أكن أعرف ذلك. كنت أفكر في DOS - Mirage
لحسن الحظ ، توفي آخر بقايا DOS مع Windows ME. :) ولكن لا تقلق - معظم الجميع لا يزال يدعو ويندوز سطر الأوامر "DOS" ، لذلك ليس كذلك خطأ، مجرد غير دقيق. منذ لا يزال يستخدم DOS الحقيقي في بعض الأحيان ، أنا تنظيف علامة DOS أن تكون مجرد أسئلة DOS الحقيقية. - quack quixote


الأجوبة:


لا أريد كتابة اسم الكل   الملفات.

من السهل تجنب ذلك. افتح موجه الأوامر في هذا المجلد واكتب الأمر التالي:

copy /b *.txt newfile.txt

صحافة أدخل.

الآن سيكون لديك كافة الملفات النصية في هذا المجلد مرتبة حسب التاريخ تصاعدي دمج في ملف واحد يسمى newfile.txt.

هدفي النهائي هو تخزين   محتويات كل ملف نصي في منفصلة   عمود من ورقة Excel.

في ما يلي برنامج تعليمي قد يساعدك في تحقيق "هدفك النهائي":

قم بدمج كل ملفات CSV أو TXT في مجلد في ورقة عمل واحدة


120
2018-02-22 02:27



هل من الممكن إدخال حرف خط جديد بعد everyfile - Mirage
ليس مع هذه الطريقة. - quack quixote
ما هي الخيارات الأخرى. هدفي النهائي هو تخزين محتويات كل ملف نصي في عمود منفصل من ورقة اكسل. أيه أفكار - Mirage
Mirage - تحديث إجابتي وفقا لتعليقك.
ولكن المشكلة هي كيف يمكنني إضافة حرف نهاية لكل ملف نصي. في الوقت الحالي ، توجد بعض ملفات النصوص في نفس الفقرة في الملف المدمج ، لذا وضعها في عمود واحد. أو إذا كان بإمكاني إضافة بعض الحرف endline إلى كافة الملفات أولاً ومن ثم تنفيذ عملية الدمج - Mirage


لإضافة خط جديد في نهاية كل ملف متسلسل ، استخدم type بدلا من copy، على النحو التالي:

type *.txt > newfile.txt

36
2018-04-11 08:55



تحذير: عند استخدام اكتب * .txt> newfile.txtالنص مكرر. - Malganis
إزالة .txt من عند newfile ومام! هناك لديك ذلك. - fa wildchild
هذه إجابة رائعة لسَلسَلة ملفات السجل أو أشياء أخرى ستقوم بتوزيعها على الطريق. على وجه التحديد حقيقة يمكنك القيام به type x.log.* > merged.log بدون ملف دفعي. من السهل التعامل مع الخطوط الجديدة. - Daniel Chapman
رائع، type قد قطعت شوطا طويلا منذ 3.3 DOS. لم أكن أعلم أنه يمكنك استخدام أقنعة الملف. متى حدث ذلك؟ - Sun


على افتراض انك تتحدث عن إلحاق ملفات نصية copy يمكن استخدام الأمر لإلحاقها معًا:

copy file1+file2+file3 targetfile

إذا كان لديك العديد من الملفات ، فبإمكانك تكرارها بإلحاق ملف واحد في كل مرة.

بالنسبة للملفات الثنائية ، أضف "/b' اختيار:

copy /b file1+file2+file3 targetfile

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


30
2018-02-22 02:08



هذا مفيد للغاية إذا كنت بحاجة إلى تسلسل الملفات بترتيب معين. - kapex


قم بتشغيل الأمر التالي في موجه الأوامر:

for %f in (*.txt) do type "%f" >> output.txt

8
2017-08-10 08:06



هذا لا يعمل كما هو متوقع ، يتم تكرار كل النص فيه output.txt - DavidPostill♦
تلميح * .txt يطابق output.txt - DavidPostill♦
DavidPostill ، لقد قمت بتحرير الإجابة وفقا لاهتمامك. - Saran


سيقوم ملف .bat التالي بإلحاق جميع الملفات * .for ، باستثناء الملف المسمى XIT.for ، إلى ملف فارغ باسم MASTER.for

type NUL > MASTER.for
FOR %%G IN (*.for) DO IF NOT "%%G" == "XIT.for" copy /A MASTER.for+"%%G" && echo. >> MASTER.for

:)


3
2018-05-12 11:52



لمسة طفيفة على ما سبق: إذا أراد أحد التأكد من أن الملفات متسلسلة أبجديا، يجب استخدام واحد: FOR / F ٪٪ G IN ('dir / b / o * .for') DO NOT NOT "٪٪ G" == "XIT.for" copy / A MASTER.for + "٪٪ G" && صدى صوت. >> MASTER.for - Guido Domenici
أحب هذا. آخر قرص أحتاجه اليوم هو لطباعة رأس الملف في الملف لفصل ملفات الإدخال. for %f in (*.txt) do ((echo. & echo == %f == & echo. & type %f ) >> *.txt.dat ) - Curtis Price
أنا أدرك أن استخدام قوقعة الباش قد يكون أكثر منطقية! - Curtis Price