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

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

Ветеран


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

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


Цитата Alexander_88:
а нельзя сделать, чтобы он размах выбирал побольше? »



Код: Выделить весь код
@echo off
chcp 1251>nul

set quantity=5
set "source=example.txt"
set "border=//=================="

for %%i in ("%source%") do (
 set new=%%~dpni_new%%~xi
 call copy nul "%%new%%">nul
 )
set temp_file="%temp%\%random%.vbs"
for /f %%i in ('
 more^<"%source%"^|findstr /x "%border:/=\/%"^| find /c /v ""
') do (
 for /f %%j in ('
  set /a %%i-1
 ') do (
  if %%j lss %quantity% (
   call:# %%j %%j
   ) else (
   call:# %%j %quantity%
   )
  )
 )
del %temp_file%

exit /b



:#


 for /l %%i in (1 1 %1) do (
  call set $%%random%%= %%i
  )
 for /f "tokens=2 delims==" %%i in ('
  set $
 ') do (
  set /a count+=1
  for /f %%j in ('
   set /a count
  ') do (
   if %%j leq %2 (
    echo WScript.StdOut.Write^(Split^(WScript.CreateObject^("Scripting.FileSystemObject"^).OpenTextFile^("%source%"^).ReadAll^(^),"%border%"^&vbCrLf^)^(%%i^)^)>%temp_file%
    (
    cscript //nologo %temp_file%| findstr /vx "%border:/=\/%"
    set /p="%border%"<nul
    echo.
    )>>"%new%"
    ) else (
    exit /b
    )
   )
  )

 exit /b

Последний раз редактировалось Georgio, 26-08-2014 в 21:06. Причина: уточнение и сокращение кода.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:16, 26-08-2014 | #4