|
|
发表于 2013-8-29 14:27:44
|
显示全部楼层
本帖最后由 Lumiere 于 2013-8-29 23:56 编辑
回复 1# bfd2138
以下代码在二楼仁兄代码的基础上修改,他的代码经测试有点小毛病,应该是疏忽了,不过思路很有亮点。假设你的文件名为english text.txt,你自己将代码那部分改成自己的文件名就行。我就晕了,用代码贴出来总是自动删掉一些东西。论坛要注意了,复制代码到代码框里会出毛病。现在直接给出文本代码,自己复制到bat文件里吧。
@echo off
setlocal enabledelayedexpansion
:: ================ 清空以 $ 开头的变量
for /f "delims==" %%a in ('set $ 2^>nul') do (
set %%a=
)
:: ================ 统计每个单词出现次数
(for /f "usebackq tokens=*" %%a in ("english text.txt") do (
for %%i in (%%a) do (
::================ 将每个单词代表的变量默认赋为空值
set /a $%%i+=1!$%%i!
)
)) 2>nul
:: ================ 输出结果
(for /f "tokens=1,2 delims=$=" %%a in ('set $') do (
echo %%a %%b
)) >"单词统计.txt"
endlocal- @echo off
- setlocal enabledelayedexpansion
- :: ================ 清空以 $ 开头的变量
- for /f "delims==" %%a in ('set $ 2^>nul') do (
- set %%a=
- )
- :: ================ 统计每个单词出现次数
- (for /f "usebackq tokens=*" %%a in ("english text.txt") do (
- for %%i in (%%a) do (
- ::================ 将每个单词代表的变量默认赋为空值
- set /a $%%i+=1!$%%i!
- )
- )
- ) 2>nul
- :: ================ 输出结果
- (for /f "tokens=1,2 delims=$=" %%a in ('set $') do (
- echo %%a %%b
- )
- ) >"单词统计.txt"
- endlocal
复制代码 |
|