Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Как-то так:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile=%~1
set sDestFile=Result.txt

if defined sSourceFile (
	if exist "%sSourceFile%" (
		for /f "usebackq delims=" %%i in (
			`type "%sSourceFile%" ^| find.exe /c /v ""`
		) do set /a iLinesCount = %%~i
		
		set /a iMod = !iLinesCount! %% 10
		
		if !iMod! equ 0 (
			set /a iGroups = !iLinesCount! / 10
			
			<"%sSourceFile%" >"%sDestFile%" (
				for /l %%i in (1, 1, !iGroups!) do (
					for /l %%i in (1, 1, 9) do (
						set sVar=
						set /p sVar=
						<nul set /p sTempVar=!sVar!	
					)
					set sVar=
					set /p sVar=
					<nul set /p sTempVar=!sVar!
					echo.
				)
			)
		) else (
			echo Lines count [!iLinesCount!] in [%sSourceFile%] not a multiple of 10."
			exit /b 3
		)
	) else (
		echo Can't find source file [%sSourceFile%].
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<Source file^>
	exit /b 1
)

endlocal
exit /b 0

Имя исходного текстового файла задаётся параметром пакетного файла (также можно просто перетянуть исходный файл на пакетный файл в Проводнике).

Georgio, в конце строк лишний табулятор вкрался .
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:15, 02-06-2015 | #3