sl1mus, задание простейшее, не представляю, что могло тут вызвать у вас трудности. Однако, вот вам решение, снабженное детальными комментариями:
Код:
@Echo Off
:: Включаем отложенное раскрытие переменных, нужно для подсчета строк
SetLocal EnableDelayedExpansion
:: Если запущено без аргументов - выходим с ошибкой и сообщением
If "%~1"=="" Echo USAGE: %~nx0 ^<path\filename^>&Exit /B 2
:: Проверка на существование файла
If Exist "%~1" (
:: Если найден, проводим подсчет строк с помощью цикла
Set Lines=0
For /F "usebackq" %%L In ("%~1") Do (Set /A Lines+=1)
:: Выводим сообщение с числом строк
Echo !Lines! lines in "%~1"
) Else (
:: Если файл не найден - сообщение о ошибке и выход с errorlevel 1
Echo ERROR: File not exist!
Exit /B 1
)