سؤال كيف أقوم بإنشاء ملف txt لكل كلمة في قائمة


مثال:

لدي ملف .txt ... (C: \ Gardening \ WordFile.txt) ... مع الكلمات التالية ...

Aquaculture
Aquaponics
Hydroponics
Aeroponics

أحتاج إلى ملف .TXT تم إنشاؤه في دليل محدد ... (IE: C: \ Gardening) مثل هذا

C:\Gardening\Aquaculture.txt

C:\Gardening\Aquaponics.txt

C:\Gardening\Hydroponics.txt

C:\Gardening\Aeroponics.txt

لكل كلمة في الملف (C: \ Gardening \ WordFile.txt)

لدي بالفعل ملف دفعي يقوم بإنشاء مجلد لكل ملف في دليل وينقل الملف إلى الدليل الذي يحمل نفس الاسم.

أنا حقا بحاجة إلى كل وظائف في ملفات دفعة منفصلة لأنني بحاجة إلى كل وظيفة للعمل بشكل منفصل في أوقات مختلفة.


5
2017-07-14 23:20


الأصل




الأجوبة:


كيف أقوم بإنشاء ملف txt لكل كلمة في قائمة

جرب هذا كحل إذا كانت كل كلمة فيها C: \ الحدائق \ WordFile.txt على سطر منفصل خاص به في الملف:

النص في WordFile.txt على سبيل المثال:

Aquaculture 
Aquaponics 
Hydroponics 
Aeroponics

برنامج دفعي ضمني

يجب تشغيل هذا البرنامج النصي الدفعي من نفس الدليل مثل List.txt والملفات المراد إنشاؤها سوف تتواجد لذلك البرنامج النصي الدفعي، ال ملف القائمة، و ال الملفات التي تم إنشاؤها سوف يكون كل في نفسه مجلد واحد لهذا.

@ECHO ON

::: Implicitly Written
SET FileList=List.txt

FOR /F "TOKENS=*" %%F IN (%FileList%) DO (

    ECHO ^0>"%%~F.txt"

)
GOTO EOF

برنامج نصي دفعة صريح

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

@ECHO ON

:::Explicitly Written
:::: Ensure there are NO SPACES in this path
SET FileList==H:\OMGA\AutoRefresh\FileList.txt
SET CreateFileDir=H:\OMGA\AutoRefresh\OutputFiles\

FOR /F "TOKENS=*" %%F IN (%FileList%) DO (

    ECHO ^0>"%CreateFileDir%\%%~F.txt"

)
GOTO EOF

إذا كانت كل كلمة في C: \ الحدائق \ WordFile.txt على نفس السطر مع فصل كل منها بمسافة ثم استخدم الحل التالي بدلاً من ذلك:

النص في WordFile.txt على سبيل المثال:

Aquaculture Aquaponics Hydroponics Aeroponics

FOR /F "DELIMS=" %%F IN (C:\Gardening\WordFile.txt) DO FOR %%G IN (%%F) DO ECHO. >> "C:\Gardening\%%~F.txt"

وأضاف لكل طلب علق. . .

@ECHO ON

::: Implicit
:::: Ensure there are NO SPACES in this path
SET FileList=List.txt

FOR /F "TOKENS=*" %%F IN (%FileList%) DO (

    ECHO.  >>"%%~F.txt"
    CALL :CreateFile "%%~F.txt"
)
GOTO EOF

:CreateFile
ECHO ^0>"%~1"
GOTO EOF

4
2017-07-14 23:27



التعليقات ليست للمناقشة الموسعة. كانت هذه المحادثة انتقل إلى الدردشة. - Journeyman Geek♦
هذا فعلها. انه يعمل الان! - user3626994
@ user3626994 يرجى الاطلاع قبول إجابة لضمان فهمك لكيفية عمل الإجابات للحصول على إجابات تساعدك في حل مشكلتك بالنسبة للسؤال الذي تطرحه. عندما تحصل على فرصة ، تحقق من ذلك وفكر في قبول جوابي لإغلاق الحلقة على استفسارك عن سؤالك. - Pimp Juice IT


إذا كانت powershell خيارًا:

افترض أن كل كلمة موجودة في سطر منفصل.

Get-Content "C:\Gardening\WordFile.txt" | Foreach-Object {New-Item "C:\Gardening\$_.txt" -Type file}

أعتقد أنها تفسيرية.

  • قراءة محتوى خط الملف عن طريق الخط

  • إنشاء لكل سطر من الملف المذكور ملف نصي جديد باسم الخط الحالي ($ _)

إذا تم فصل كلماتك من قبل محددات مثل ، تحتاج إلى استبدال _Get-Content _ جزء من الأمر أعلاه (الجزء قبل رمز الأنبوب |) بما يلي: (Get-Content "C:\Gardening\WordFile.txt").split(",").

هذا يعمل مثل أعلاه إلا بدلاً من قراءة سطر السطر ، بالإضافة إلى أنه يقسم كل إدخال محدد محدد.

يمكنك استبدال الحرف في أسلوب Split () بواسطة المحدد المحدد الخاص بك.


2
2017-07-15 12:13