Ger*_*hes 4 recursion batch-file counting
这是我的脚本,它的作用是计算当前文件夹中cpp,h,hpp,cs,c文件的行数.
我想要做的是计入子文件夹,但似乎我无法做到这一点.
我做了一些递归尝试,但我无法在当前代码中实现它.
call::CountLines Modules\Output\HTML.Tidy\
goto:eof
:CountLines
setlocal
set /a totalNumLines = 0
SETLOCAL ENABLEDELAYEDEXPANSION
for /r %%f in (%~1*.cpp %~1*.h %~1*.hpp %~1*.cs %~1*.c) do (
for /f %%C in ('Find /V /C "" ^< %%f') do set Count=%%C
set /a totalNumLines+=!Count!
)
echo Total number of cod lines for %~1: %totalNumLines% >> log.txt
Run Code Online (Sandbox Code Playgroud)
如果您知道解决方案或更好的方法,请告诉我.
问候,
斯特凡
使用时,路径信息不得在IN()子句内FOR /R.根路径应该遵循/R选项.
@echo off
:CountLines
setlocal
set /a totalNumLines = 0
for /r %1 %%F in (*.cpp *.h *.hpp *.cs *.c) do (
for /f %%N in ('find /v /c "" ^<"%%F"') do set /a totalNumLines+=%%N
)
echo Total number of code lines for %1 = %totalNumLines% >>log.txt
Run Code Online (Sandbox Code Playgroud)
我不记得的区别,但type file|find /c /v ""并find /c /v "" <file可以给出不同的结果.我不记得触发条件是什么,或哪个更好.
| 归档时间: |
|
| 查看次数: |
3463 次 |
| 最近记录: |