Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Построчное разрезание TXT-файла
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Wed Jan 06, 2010 00:07    Post subject: Построчное разрезание TXT-файла Reply with quote

Здравствуйте уважаемые пользователи ТС. Скажите пожалуйста как можно разбить несколько текстовых файлов построчно, может плагин какой есть или специализированная прога? Подскажите пожалуйста, очень надо. Спасибо за внимание Smile
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10315
Location: Россия, Саратов

Post (Separately) Posted: Wed Jan 06, 2010 00:12    Post subject: Reply with quote

hawk777
Каждую строку — в отдельный текстовый файл?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Wed Jan 06, 2010 00:40    Post subject: Reply with quote

Avada
да, названия файлов не принципиальны. Можно такое сделать?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10315
Location: Россия, Саратов

Post (Separately) Posted: Wed Jan 06, 2010 01:06    Post subject: Reply with quote

hawk777
Специалисты от праздничных хлопот отойдут — всю правду скажут. А я пока просто уточнил условия задачи, чтобы другим разбираться проще было. Ну и немножко заголовок темы заодно подправил.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2585
Location: Большая деревня Москва

Post (Separately) Posted: Wed Jan 06, 2010 01:42    Post subject: Reply with quote

2hawk777
Скрипт PowerPro подойдет? Строчек десять кода. Если нет, жди пока Batya не напишет vbs-скрипт, а Tol!k - батник.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Wed Jan 06, 2010 10:30    Post subject: Reply with quote

Вахмурка
Скачал, лазил по ней, честно говоря непонятно как в ней файлы резать Embarassed
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Jan 06, 2010 11:22    Post subject: Reply with quote

hawk777
Code:
@echo off &chcp 1251 >nul
setlocal enableextensions
if "%~1"=="" (
echo Use: split-into-lines.cmd "any file.txt"
exit /b
)
set "l=1"
for /f "usebackq delims=" %%l in ("%~1") do (
set "line=%%l"
setlocal enabledelayedexpansion
set "n=!l!"
if !l! LSS 1000 set "n=0!l!"
if !l! LSS 100 set "n=00!l!"
if !l! LSS 10 set "n=000!l!"
echo !line!> "%~nx1.!n!"
title !l! &endlocal &set /a l+=1
)

Недостаток: пустые строки не увеличивают счётчик и файлы для них не создаются (собранный файл будет отличаться от исходного отсутствием пустых строк).


Last edited by Tol!k on Thu Jan 14, 2010 03:57; edited 2 times in total
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2585
Location: Большая деревня Москва

Post (Separately) Posted: Wed Jan 06, 2010 11:48    Post subject: Reply with quote

2hawk777
Кого скачал? Где лазил?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Wed Jan 06, 2010 12:10    Post subject: Reply with quote

Вахмурка
скачал powerpro отсюда, лазил по powerpro, если Вы про нее написали Smile
Tol!k
Большое спасибо, но как пользоваться Вашим кодом? Embarassed да и мне не нужно собирать файл обратно, главное разделить его чтобы каждая строка писалась в новый файл.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Wed Jan 06, 2010 12:11    Post subject: Reply with quote

Code:
Dim fso, InFile, Cnt, Stroka, ts

Set fso = CreateObject("Scripting.FileSystemObject")
InFile = WScript.Arguments(0)
Set ts=fso.OpenTextFile(InFile,1)

Cnt=0
Do Until ts.AtEndOfStream
   Stroka=ts.ReadLine
   Set MyFile= fso.CreateTextFile(InFile & "." & CStr(Cnt), True)
   MyFile.WriteLine(stroka)
   MyFile.Close
   Cnt=Cnt+1
Loop

ts.Close
Set ts=Nothing
Set fso = Nothing

WScript.Quit

Сохранить в VBS-файл (например SplitByLine.vbs) и повесить на кнопку, в качестве ее параметров написать: ""%P%N"" (именно в двойных кавычках!). Нажимать кнопку, когда курсор на файле-истточнике.

NB Пустые строки считаются и файлы для них создаются. Если файл-источник в Unicode, то нужно будет изменить пару параметров.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Jan 06, 2010 12:29    Post subject: Reply with quote

hawk777 wrote:
как пользоваться Вашим кодом?
Сохранить код в текстовый файл с расширением .cmd (например split-into-lines.cmd)
Запускать из командной строки split-into-lines "твой файл.txt"
Или кнопкой
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\split-into-lines.cmd
%N
%COMMANDER_PATH%\WCMICONS.DLL,68
split-into-lines


-1


Last edited by Tol!k on Wed Jan 06, 2010 12:32; edited 2 times in total
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2585
Location: Большая деревня Москва

Post (Separately) Posted: Wed Jan 06, 2010 12:31    Post subject: Reply with quote

hawk777
Прелесть в том, что разбираться в PowerPro для исполнения ее скриптов совершенно не обязательно: достаточно ее установить и, возможно, выполнить несколько простейших требований по настройке. Примерно то же касается и батников, и vbs-скриптов.

То, что установил PowerPro - молодец, не сноси. Авось потом и втянешься.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
hawk777



Joined: 27 Dec 2008
Posts: 61

Post (Separately) Posted: Wed Jan 06, 2010 12:35    Post subject: Reply with quote

Всем большое человеческое спасибо за помощь и советы, скрипт отVolniy работает как надо Very Happy
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2221
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 08, 2010 23:25    Post subject: Reply with quote

Volniy wrote:
""%P%N"" (именно в двойных кавычках!)

А нафига вообще кавычки? Для конструкции %P%N TotalCommander сам при необходимости добавит кавычки.

Tol!k wrote:
%COMMANDER_PATH%\split-into-lines.cmd
%N

А вот здесь лучше добавить кавычки: "%N".
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Jan 09, 2010 00:55    Post subject: Reply with quote

Tol!k wrote:
А вот здесь лучше добавить кавычки: "%N".

Хуже. По той же причине: "TotalCommander сам при необходимости добавит кавычки."
Кавычки нужны только для "%P" и "%T" без связки с %N и %M
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group