Jak utworzyć plik txt dla każdego słowa na liście
Wypróbuj to rozwiązanie, jeśli każde słowo w C: Ogrodnictwo WordFile.txt znajduje się w osobnej linii w pliku:
Tekst w WordFile.txt Przykład:
Aquaculture
Aquaponics
Hydroponics
Aeroponics
Niejawny skrypt wsadowy
Ten skrypt wsadowy powinien być uruchamiany z tego samego katalogu, w którym znajduje się List.txt, a pliki do utworzenia będą rezydować; więc skrypt wsadowy , lista plików i utworzone pliki będą w tym samym folderze.
@ECHO ON
::: Implicitly Written
SET FileList=List.txt
FOR /F "TOKENS=*" %%F IN (%FileList%) DO (
ECHO ^0>"%%~F.txt"
)
GOTO EOF
Jawny skrypt wsadowy
Ten skrypt wsadowy można uruchomić z dowolnego miejsca, ponieważ określona jest pełna ścieżka wskazująca na listę plików i gdzie tworzone są nowe pliki.
@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
Jeśli każde słowo w C: Ogrodnictwo WordFile.txt znajduje się w tej samej dokładnej linii, a każda z nich jest oddzielona spacją, użyj zamiast tego poniższego rozwiązania:
Tekst w WordFile.txt Przykład:
Aquaculture Aquaponics Hydroponics Aeroponics
FOR /F "DELIMS=" %%F IN (C:\Gardening\WordFile.txt) DO FOR %%G IN (%%F) DO ECHO. >> "C:\Gardening\%%~F.txt"
Dodano na prośbę o komentarz. . .
@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
Jeśli PowerShell jest opcją:
Zakładając, że każde słowo jest w osobnej linii.
Get-Content "C:\Gardening\WordFile.txt" | Foreach-Object {New-Item "C:\Gardening\$_.txt" -Type file}
Myślę, że to oczywiste.
odczyt zawartości pliku linia po linii
utwórz dla każdej linii tego pliku nowy plik tekstowy z nazwą bieżącej linii ($ _)
Jeśli twoje słowa są oddzielone separatorami jak , trzeba wymienić _GET-Content _ część powyższego polecenia (część przed symbolem rury |) z następujących powodów:
(Get-Content "C:\Gardening\WordFile.txt").split(",")
.Działa to tak, jak powyżej, z tym wyjątkiem, że zamiast czytać wiersz po wierszu, dodatkowo dzieli każdy wpis na określony ogranicznik.
Możesz zastąpić znak w metodzie Split () określonym ogranicznikiem.
źródło