Как мне создать текстовый файл для каждого слова в списке
Попробуйте это как решение, если каждое слово в C:\Gardening\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:\Gardening\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