스크립트 파일의 행 수를 계산합시다.

7499 단어 batchWindows10
#background
이 [bat|SQL|sh] 라고 코멘트 제외하면 몇행 있는 거야?
라고 들었을 때 확실히 몰랐기 때문에. 일괄 처리했습니다.

배치 개요



간단한 구문을 반복하고 있습니다. 이런 느낌. 1 파일을 인수에 취하고 빈 행과 지정된 문자로 시작하는 행을 제외하고 행 수를 계산합니다.
오류 처리는 적절하게 작성되었습니다.

countLines.bat
if not "%2"=="" (
    echo *** 2つ以上の引数が指定されています。
    goto END_ERROR_ARG
)
if "%1"=="" (
    echo *** 行数カウント対象のファイルを指定してください ***
    goto END_ERROR_NOARG
)

set lines=0
if /i "%~x1"==".bat" (
    for /f "eol=@" %%i in ( %1 ) do ( set /a lines=lines+1 )
    goto END_SUCCESS
) else if /i  "%~x1"==".cmd" (
    for /f "eol=@" %%i in ( %1 ) do ( set /a lines=lines+1 )
    goto END_SUCCESS
) else if /i "%~x1"==".sh" (
    for /f "eol=#" %%i in ( %1 ) do ( set /a lines=lines+1 )
    goto END_SUCCESS
) else if /i "%~x1"==".sql" (
    for /f "eol=/" %%i in ( %1 ) do ( set /a lines=lines+1 )
    for /f "eol=-" %%i in ( %1 ) do ( set /a lines=lines+1 )
    goto END_SUCCESS
) else if /i "%~x1"==".ps1" (
    for /f "eol=#" %%i in ( %1 ) do ( set /a lines=lines+1 )
    goto END_SUCCESS
) else (
    set errroMsg=対象外のファイル拡張子が指定された
    goto END_OTHER_EXT
)

:END_SUCCESS
echo カウント結果[%~nx1]%lines% Lines
exit /b 0

:END_ERROR_ARG
echo 実行結果:引数エラー
exit /b 1

:END_ERROR_NOARG
echo 実行結果:引数なし
exit /b 2

:END_OTHER_EXT
echo 実行結果:対象外のファイル拡張子
exit /b 3

코멘트 행에 사용되는 문자를 결정 치고 있기 때문에 유연성은별로 없습니다. 배치 파일이면,
@￰REM라든지, REM라든지,;라든지 코멘트 취급으로 할 수 버려요…

이런 느낌으로 사용합니다.
countLines.bat xxx.bat



찾아보면, 더 간단하게 행수 카운트 해 주는 에디터라든지, 플러그인이라든지 있을까요?

좋은 웹페이지 즐겨찾기