这是通过将每个目录的内容列出到列表中(放在每个目录中)来尝试将未知文件分类到未知目录中的尝试。单个新文件%filename%
被分成单词(按空格),这些单词用于在每个目录中搜索文件数据库keywords.txt
。我应该一起算出这些点击数,以找出文件所属的位置,但是我的计数系统根本无法正常工作。
set "count="
:: feed a list of all subdirectories
for /f "delims=" %%i in ('dir /s /b /a:d') do (
rem reset keywords, then rebuild
echo. >"%%~i\keywords.txt" & for /f "delims=" %%a in ('dir "%%~i\*.*" /b /a:-d') do echo %%~na >>"%%~i\keywords.txt"
@echo on
for %%a in (%filename%) do find /i /c "%%a" "%%~i\keywords.txt" && set count+=1
@echo off
echo count is %count%
)
一个线索可能是最后一行没有产生%count%
,只有count is
答案 0 :(得分:1)
for %%a in (%filename%) do find /i /c "%%a" "%%~i\keywords.txt" && set /A count+=1
@echo off
CALL echo count is %%count%%
/A
命令中的set
调用算术模式;您的代码只需将变量count+
设置为值1
。
call
调用一个子shell,该子shell报告所需的值。关于此问题的SO文章必须有数千篇。尝试搜索delayed expansion
。