Имя пользователя:
Пароль:
 

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

Ветеран


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

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


Я бы попробовал так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile=C:\Песочница\040\100001.txt

call :GetTemporaryName

if exist "%sSourceFile%" (
	for /f "usebackq delims=" %%i in (
		`type "%sSourceFile%"^|find.exe /v /c ""`
	) do set /a iTotalLines = %%i

	set /a iNeedLines = iTotalLines - 1

	>"%TemporaryName%" (
		for /f "usebackq tokens=1* delims=[]" %%i in (
			`type "%sSourceFile%"^|find.exe /v /n ""`
		) do if %%i leq !iNeedLines! echo.%%j
	)

	>nul copy /y "%sSourceFile%" "%sSourceFile%.bak"
	>nul copy /y "%TemporaryName%" "%sSourceFile%"
	del /f /q "%TemporaryName%"
) else (
	echo Source file [%sSourceFile%] not found.
	exit /b 1
)

endlocal
exit /b 0
rem ==========================================================================

rem ==========================================================================
rem Функция GetTemporaryName()
rem 
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
    setlocal enableextensions enabledelayedexpansion

:NextName
    set sTempName=%temp%\temp%random%.tmp

    if exist "%sTempName%" goto :NextName

    set sProcName=%~0

    endlocal & set %sProcName:~4%=%sTempName%
    exit /b 0
rem ==========================================================================
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:25, 21-02-2014 | #5