Требуется написать bat-ник, выводящий список слов из текстового файла с числом их вхождений.
Сам только начинаю пытаться разбираться в этом, но пока все печально. Далеко в решении не ушел.
Цитата:
set mfile=C:\CMDTest\d.txt
set str=""
for /f "tokens=*" %%i in ('type %mfile%') do (
set str=%%i
for /f "tokens=1*" %%j in ("%%i") do (
find /i /c "%%j" "%mfile%"
)
)
CMD/BAT - [решено] Вывести список слов из текстового файла
-
Iska
Re: CMD/BAT - [решено] Вывести список слов из текстового файла
Cypp0raT, задача для пакетных файлов, прямо скажем, не тривиальная. Зачем сие нужно?
-
Cypp0raT
Re: CMD/BAT - [решено] Вывести список слов из текстового файла
Iska, скажем так, чтобы облегчить себе дальнейшую участь.
-
Iska
Re: CMD/BAT - [решено] Вывести список слов из текстового файла
Cypp0raT, облегчать участь проще и надёжнее в рамках WSH или PoSH. Например:
Код:
Код:
Код: Выделить всё
Option Explicit
Dim objDictionary
Dim elem
Set objDictionary = WScript.CreateObject("Scripting.Dictionary")
With WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile("E:\Песочница\0206\0001.txt")
Do Until .AtEndOfStream
For Each elem In Split(.ReadLine())
If Not objDictionary.Exists(elem) Then
objDictionary.Add elem, 1
Else
objDictionary.Item(elem) = objDictionary.Item(elem) + 1
End If
Next
Loop
.Close
End With
For Each elem In objDictionary.Keys
WScript.Echo elem, objDictionary.Item(elem)
Next
objDictionary.RemoveAll
Set objDictionary = Nothing
WScript.Quit 0-
yurfed
-
Cypp0raT
Re: CMD/BAT - [решено] Вывести список слов из текстового файла
Iska, само собой через "прямой" язык это сделать легче. Но мне требуется именно на cmd...
Ладно, проблему решил сам. Правда через заднюю мысль, но сойдет.
Тогда такой подвопрос, как мне вывести этот список без повтора одинаковых слов?
dog 8
head 4
dog 8
man 12
woman 4
head 4
Т.е. вывод должен получиться примерно таким:
dog 8
head 4
man 12
woman 4
Ладно, проблему решил сам. Правда через заднюю мысль, но сойдет.
Тогда такой подвопрос, как мне вывести этот список без повтора одинаковых слов?
dog 8
head 4
dog 8
man 12
woman 4
head 4
Т.е. вывод должен получиться примерно таким:
dog 8
head 4
man 12
woman 4
-
Iska
Re: CMD/BAT - [решено] Вывести список слов из текстового файла
Подсказка: если несколько раз написать set Var=Value, переменная останется всё равно одна.
Вам нужно из полученного добиться в итоге примерно такого варианта исполнения:
Код:
Думайте.
Вам нужно из полученного добиться в итоге примерно такого варианта исполнения:
Код:
Код: Выделить всё
set sWordsdog=8
set sWordshead=4
set sWordsdog=8
set sWordsman=12
set sWordswoman=4
set sWordshead=4
set sWordsДумайте.