我有一个包含键和值的文件,并希望逐步执行每个键,并查看该键是否至少在一个文件中至少出现一次(或提供计数)。
第一个文件如下所示:
"foo.bar" : "hello world",
"lorem.ipsum" : "a quick brown fox",
....
我想扫描子目录中的所有.js文件,看看是否使用了"foo.bar"并提供该键的计数;然后取下一个键"lorem.ipsum"并扫描子目录中的所有js文件以查看是否使用它,然后提供一个计数。
我让部分解决方案工作,但不能让整个事情同时工作。 挑战有 veen findstr 不使用/c 进行计数,需要 () 来保持一切井然有序。
我可以在外部迭代字符串文件的每一行
...for /f "skip=1 delims=:" %%a in (src/dict/strs_en.json) do (
findstr /s %%a c:foobarmycode*.js
)
但在内部,我需要更像一个在堆栈溢出其他地方给出的示例:
for /F "delims=" %G in ('findstr /I /S /M "foo.bar" "%CD%*.js"') do @find /I /C "home." "%~G" | findstr /V /R "^$"
其中"foo.bar"实际上是我的%%a
最后,所需的输出将是(我只想知道使用什么和不使用什么)
"foo.bar" 2
"lorem.ipsum" 1
"dolor.et" 0
或
"foo.bar"
- file1.js
- file2.js
"lorem.ipsum"
- file3.js
"dolor.et"
-
"test.me"
- file2.js
- file3.js
>output.log
中的输出是否为您提供了运行此批处理文件后可以使用的内容:
@(For /F Skip^=1^ Delims^=^" %%A In (srcdictstrs_en.json) Do @(
Echo="%%A" & FindStr/SMC:"%%A" C:foobarmycode*.js & Echo=))>output.log