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

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

Ветеран


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

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


Alexander_88, попробуйте:



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

set string_quantity=50
set index_format=4

:: Set the value of the variable: «+» or nothing.
set final_blank_line=+

:: Enter the names of one or more files.
for %%? in (
"list1.txt"
"list2.txt"
"list3.txt"
 ) do (
 call:sub %%?
 )

del .txt .vbs
exit /b


:sub

 setlocal

 (
 echo.
 echo $$$
 for /f "delims=" %%i in ('
  find /n /v ""^<%1
 ') do (
  set string=%%i
  (
  for /f "delims=" %%j in ('
   call set /p"=%%string:*]=%%"^<nul
  ') do (
   echo %%j
   )
  )|| (
  echo.
  )
  set /a count_1+=1
  for /f %%j in ('
   set /a count_1
  ') do (
   if %%j==1 (
    set /a count_2+=1
    )
   if %%j==%string_quantity% (
    echo $$$
    set count_1=
    )
   )
  )
 echo $$$
 )>.txt

 for /f %%i in ('
  set /a index_format-1
 ') do (
  for /l %%j in (1 1 %%i) do (
   call set zeros=0%%zeros%%
   )
  )
 for /l %%i in (1 1 %count_2%) do (
  set $index=%zeros%%%i
  for /f %%j in ('
   call echo %%$index:~-%index_format%%%
  ') do (
   set /p="WScript.StdOut.Write(Split(WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile(".txt").ReadAll(), vbCrLf&"$$$"&vbCrLf)(%%i))"<nul>.vbs
   (
   cscript //nologo .vbs
   if "%final_blank_line%"=="+" (
    echo.
    )
   )>"%~dpn1%%j%~x1"
   )
  )

 set /p="WScript.CreateObject("SAPI.SpVoice").Speak("Processing of the '%~nx1' file is complete!")"<nul>.vbs
 cscript //nologo .vbs 2>nul

 endlocal
 exit /b


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

Отправлено: 13:34, 27-08-2014 | #27