![]() |
Текстовые файлы
Доброе время!
Прошу помощи, для создания батника нужно в текстовый файл нужно удалить знак пробел перед знаком "]" это знак не везде встречается в текстовом файле. |
обрабатывать нужно 1 текстовой файл?
|
Да, обрабатывается 1 файл. Имя этих файлов разное но расширение одно.
|
0. открываем файл обычным блокнотом
1. нажимаем Ctrl + H 2. В верхнем поле пишем " ]" (без кавычек, разумеется) 3. в нижнем - "]" (опять же без кавычек) 4. нажимаем "Replace all" (или "Заменить все" - кто под каким языком сидит) 5. сохраняем, закрываем и ненадо придумывать батники. |
AKadekin, Я Вас умоляю, не связывайтесь с CMD для обработки текстовых файлов. Вот vbs. Взято с мизерными изменениями здесь.
Имя файла можно прописывать явным образом в скрипте, либо указывать в аргументе скрипта в кавычках при вызове, либо создать, например, на рабочем столе значок на этот скрипт и в проводнике затягивать на него мышкой обрабатываемый файл
Код:
FileIn = "Z:\Box_In\playlist.txt" |
так вот он нужен .. так как в день нужно быстро передать и таких файлов может быть много больше 30
Вероятность, что будет ошибка есть. так вот он нужен .. так как в день нужно быстро передать и таких файлов может быть много больше 30 Вероятность, что будет ошибка есть. |
Цитата:
Цитата:
Кроме этого хорошо бы знать расположение этих файлов (все в одной папке или в разных, меняется ли расположение этой папки/папок), по какому принципу должны отбираться файлы (нет ли среди тех которые нужно обработать те которые обрабатывать ненужно/нельзя), могут ли быть варианты в которых пробелов перед ] будет больше одного и как поступать в таких случаях. Возможно еще какие-то варианты нужно предусмотреть (кодировку, например), ну и (не факт, но возможно) кто-то затребует пример исходного файла. |
Если файл один, Имя можно прописывать явным образом в скрипте.
Если один или несколько, их можно перечислить в аргументе скрипта в кавычках при вызове. Можно создать значок на скрипт на, например, рабочем столе, помечать в проводнике файл или группу файлов и в проводнике затягивать на него мышкой помеченные файлы Код:
FileIn1 = "Z:\Box_In\playlist.txt" |
Файлы находятся в одной папке потом они перемещаются в разные папки.
Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке. После обработки перед перемещением их нужно переименовать в *.MIX (бывший *.AX1 - ложится в одну папку, другой в другую) Эти файлы содержат разные данные но "структура" одинаковая. В этих файлах нужно перед знаком ] убрать пробел. Там всегда один пробел лишний. Расположение папок фиксировано не меняется. Все что нужно. Файлы находятся в одной папке потом они перемещаются в разные папки. Файлы которые нужно обработать имеют расширения *.AX1 и *.MX1 и они находятся в одной папке. После обработки перед перемещением их нужно переименовать в *.MIX (бывший *.AX1 - ложится в одну папку, другой в другую) Эти файлы содержат разные данные но "структура" одинаковая. В этих файлах нужно перед знаком ] убрать пробел. Там всегда один пробел лишний. Расположение папок фиксировано не меняется. Все что нужно. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
P.S. Уберите задвоение текста в Вашем последнем и предпоследнем сообщениях. |
Цитата:
Он либо один, либо этих файлов больше чем один. Это взаимоисключающие условия. [когнитивный диссонанс OFF] Цитата:
Код:
#requires -v 3.0 |
Это пример одного файлов они по структуре похоже, отличаются только внутренними данными.
Код:
[Descrittore] |
AKadekin,
VBS. Пропишите свои пути
Код:
FileIn = Array("Z:\Box_In", "AX1", "Z:\Box_Out1", "MIX", _ |
Вложений: 1
В архиве находятся файлыФайл 158559
|
AKadekin,
если просто пробел мозолит глаза, не проще убрать [] везде по тексту, потому как пробелы в конце строк встречаются и в строках не имеющих этих скобок. (да, и нужны ли 17 пробелов между абзацами?), т.е. как в дальнейшем будет использоваться этот файл? |
Вот CMD. Пустые строки съест. VBS работает намного быстрее, но пустые строки сохраняет. Конкретно требований насчёт пустых строк не было. И концевых пробелов тоже
Код:
@Echo Off |
Главное что бы до ] пробел убрать.
Структура должна быть сохранена и столько пробелов нужно. |
Прошу помощи, для решения этой проблемы.
|
AKadekin,
Офигеть... а всё, что предложено выше (cmd, wsh, powershell) - бредятина, которая Вам не помогла? Зачетно... Хотя, да... в моем скрипте была опечатка в наименовании переменной... Вот исправленный вариант: Код:
#requires -v 3.0 Цитата:
1023000.AF1 1023000.AX1 что явно не соответствует *.AX1 и *.MX1 |
AKadekin, что конкретно не устроило в этом моём решении? Оно полностью отвечает поставленной Вами задаче.
Код сохраните в файл с расширением .vbs. Цитата:
Одна строка соответствует одному сценарию обработки. Здесь в первой строке в кавычках: В папке "Z:\Box_In" Надо обработать все файлы с расширением "AX1" Поместить обработанные в папку "Z:\Box_Out1" При этом изменить им расширение на "MIX" В чём трудность прописать свои данные? Во второй строке аналогично для второго расширения файлов И таких строк может быть сколько угодно (Вы заказали 2 варианта) Запускаете скрипт как любой исполнимый файл. Кстати, это решение можно поместить в назначенные задания, чтобы скрипт исполнялся с некоторой периодичностью без Вашего дополнительного вмешательства: Cscript "Путь\имяскрипта.vbs" В чем у Вас непонимание? Вы хоть раз пытались запустить этот скрипт?. Или иной из предложенных Вам решений? Какой при этом результат получили? Чтобы Вам помочь, нужна адекватная обратная связь, а пустые стенания Цитата:
|
megaloman, как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел megaloman, как перенести файлы и переименовать я понимаю У меня проблема в том, что нужно убрать перед знаком ] пробел |
AKadekin,
Цитата:
Я уже себе перестал верить: взял Ваши файлы, еще раз их обработал, получил нужный результат. Или Вы не запускали мой скрипт, либо файлы, представленные Вами, нерабочие: например, в иной кодировке, либо в Вашем реальном файле перед ] не пробел. И хотелось бы иметь более энергичный диалог, а не реакцию раз в сутки. |
Цитата:
|
С помощью sed:
Код:
sed -i "s/ ]/]/g" input.txt |
YuS_2, как правильно его запустить... запустить как bat файл, он не отработает.
|
Цитата:
|
YuS_2, Спасибо все получилось работает
|
YuS_2, Спасибо все получилось работает
|
YuS_2,
Большое спасибо, скрипт работает. Подскажите, а почему он сохраняет результат в формате utf8 c BOM. Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM Спасибо, я решил эту проблему |
Цитата:
Цитата:
Цитата:
Код:
#requires -v 3.0 |
Время: 22:06. |
Время: 22:06.
© OSzone.net 2001-