|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Нужно быстро (!) удалить пустые строки во всех txt-файлах из одной директории |
|
|
VBS/WSH/JS - [решено] Нужно быстро (!) удалить пустые строки во всех txt-файлах из одной директории
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать Нужно быстро (!) удалить пустые строки во всех тхт-файлах в папке
Если есть этому решение, помогите, плиз! |
|
Отправлено: 02:50, 06-06-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать andreton, в задаче не оговорен поиск в подкаталогах, кодировка и размер файлов
VBS-вариант для поиска в подкаталогах и файлов размером много меньше RAM: Set objFSO = CreateObject("Scripting.FileSystemObject") Set objRegEx = CreateObject("VBScript.RegExp") objRegEx.Pattern = "(?:(^)[\n\r]+|(\r?\n)[\n\r]*)" objRegEx.IgnoreCase = True objRegEx.Global = True '----------------------------- FileProcByExt "C:\TEST", "TXT" '----------------------------- Sub FileProcByExt (strDir, strExt) Dim oS, cS, oI, cF Set oS = objFSO.GetFolder(strDir) Set cS = oS.SubFolders On Error Resume Next For Each oI In cS FileProcByExt oI.Path, strExt Next Set cF = oS.Files For Each oI In cF If StrComp(objFSO.GetExtensionName(oI.Path),strExt,1)=0 Then FileProc oI.Path Next End Sub Sub FileProc (strFile) Dim oF, sF Set oF = objFSO.OpenTextFile(strFile, 1) If oF.AtEndOfStream Then Exit Sub sF = oF.ReadAll oF.Close sF = objRegEx.Replace(sF, "$1$2") Set oF = objFSO.OpenTextFile(strFile, 2) oF.Write(sF) oF.Close End Sub |
Отправлено: 09:06, 06-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать amel27. здесь поиска в подкаталогах не требуется. есть папка и в ней только тхт-файлы в кодировке ANSI, вот и все... при выделении всех файлов в TC, нужно нажать на подходящий баттон, к которому подключен нужный скрипт. Ваш вариант для этого не работает... или я чего-то не изменил в нем?...
О каких утилитах идет речь? может ними действительно поинтересней... |
Отправлено: 12:46, 06-06-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата andreton:
Цитата andreton:
P.S. в "Параметрах" батона должно стоять "%P %S" |
||
Последний раз редактировалось amel27, 08-06-2010 в 03:37. Причина: ошибка подсчета пропущенных Отправлено: 15:16, 06-06-2010 | #4 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать amel27, при подключении кода в кнопку, выделения файлов и нажатия на эту кнопку ничего не происходит
Попробовал убрать первую строку If WScript.Arguments.Count < 2 Then WScript.Quit, выдает "Файлов обработано:0 Файлов пропущено:1 ".... вне зависимости от выделения файлов в папке. Что идет не так? |
|
Отправлено: 09:45, 07-06-2010 | #5 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 11:27, 07-06-2010 | #6 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать может и пойдет... только не знаю куда вставить и как проверить не сталкивался с такого рода вещами, как "батники".
Знаю о них только вот это http://forum.ru-board.com/topic.cgi?...8&start=640#15 в моем случае также? подскажите неграмотному, плиз! |
Отправлено: 13:38, 07-06-2010 | #7 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата andreton:
|
|
Отправлено: 16:27, 07-06-2010 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать andreton, вариант с использованием SFK (swiss file knife):
P.S. но тут уже без всякой страховки, и вплоть до бинарников... |
Отправлено: 17:52, 07-06-2010 | #9 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Большое СПАСИБО, amel27!
Поменял правильно настройки, все заработало! Но, что интересно: у меня в пробной папке был 71 файл, выделил все, нажал на "батон" - и, вуаля, "Файлов обработано:71 Файлов пропущено:1". Где этот неведомый файл? Все файлы - тхт. Но не будем заморачиваться - спасибо, работает и так! Очень помогли! Можем тему закрывать. |
Отправлено: 17:53, 07-06-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Нужно быстро (!) добавить/удалить строку во все файлы указанной директории | Possessed | Скриптовые языки администрирования Windows | 6 | 04-10-2011 22:29 | |
CMD/BAT - Сравнение и замена в файлах .txt | Deep2007 | Скриптовые языки администрирования Windows | 4 | 19-11-2010 19:08 | |
Win32 API - Копирование всех файлов из директории | DaRiYs | Программирование и базы данных | 4 | 03-09-2009 23:36 | |
Интерфейс - [решено] Нужно отобразить все пустые папки в директории | Третий | Microsoft Windows 7 | 1 | 24-08-2009 22:17 | |
Установка одной временной директории для всех пользователей | red_dog | Microsoft Windows NT/2000/2003 | 2 | 15-12-2006 10:39 |
|