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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Текстовые файлы

Ответить
Настройки темы
CMD/BAT - Текстовые файлы

Новый участник


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

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


Доброе время!
Прошу помощи, для создания батника нужно в текстовый файл нужно удалить знак пробел перед знаком "]" это знак не везде встречается в текстовом файле.

Отправлено: 12:12, 09-08-2019

 

Новый участник


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

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


megaloman, как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел

megaloman, как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел

Отправлено: 17:08, 15-08-2019 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


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

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


AKadekin,
Цитата AKadekin:
У меня проблема в том, что нужно убрать перед знаком ] пробел »
Приведенный скрипт решает эту задачу.
Я уже себе перестал верить: взял Ваши файлы, еще раз их обработал, получил нужный результат. Или Вы не запускали мой скрипт, либо файлы, представленные Вами, нерабочие: например, в иной кодировке, либо в Вашем реальном файле перед ] не пробел.
И хотелось бы иметь более энергичный диалог, а не реакцию раз в сутки.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 15-08-2019 в 17:58.


Отправлено: 17:10, 15-08-2019 | #22


Аватара для YuS_2

Старожил


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

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


Цитата AKadekin:
как перенести файлы и переименовать я понимаю
У меня проблема в том, что нужно убрать перед знаком ] пробел »
Действительно, Вы опишите, что именно запускали, что не получилось, какие ошибки вывалились в консоли... в общем, подробности требуются, чтобы можно было помощь предложить...

-------
scio me nihil scire

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

Отправлено: 19:45, 15-08-2019 | #23


Ветеран


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

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


С помощью sed:
Код: Выделить весь код
sed -i "s/ ]/]/g" input.txt

Отправлено: 21:38, 15-08-2019 | #24


Новый участник


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

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


YuS_2, как правильно его запустить... запустить как bat файл, он не отработает.

Отправлено: 17:19, 16-08-2019 | #25


Аватара для YuS_2

Старожил


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

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


Цитата AKadekin:
запустить как bat файл, он не отработает. »
Вчера написал, в аналогичной ситуации, инструкцию для запуска скрипта powershell

-------
scio me nihil scire


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


Новый участник


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

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


YuS_2, Спасибо все получилось работает

Отправлено: 17:27, 16-08-2019 | #27


Новый участник


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

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


YuS_2, Спасибо все получилось работает

Отправлено: 22:19, 16-08-2019 | #28


Новый участник


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

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


YuS_2,
Большое спасибо, скрипт работает. Подскажите, а почему он сохраняет результат в формате utf8 c BOM.
Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM

Спасибо, я решил эту проблему

Отправлено: 09:44, Вчера | #29


Аватара для YuS_2

Старожил


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

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


Цитата AKadekin:
Подскажите, а почему он сохраняет результат в формате utf8 c BOM. »
Потому, что такой формат используется в powershell до версии 5.1 и utf8 без BOM, в командлетах не был предусмотрен.

Цитата AKadekin:
Из за этого есть проблемы, как его преобразовать в просто в UTF8 без BOM »
Варианты есть, один из которых - установка powershell версии 6.0 или выше, где присутствует кодировка UTF8NoBOM
Цитата:
Encodes in UTF-8 format. - UTF8BOM : Encodes in UTF-8 format with Byte Order Mark (BOM) - UF8NOBOM : Encodes in UTF-8 format without Byte Order Mark (BOM)
либо можно воспользоваться классом .net UTF8Encoding:
Код: Выделить весь код
#requires -v 3.0
# путь к одному каталогу с файлами:
$fldin = 'z:\Путь_к_каталогу_с_файлами\Один_Каталог\*'
# путь к разным, целевым каталогам:
$fldout1 = 'z:\Путь_к_каталогу_с_файлами\AF1'
$fldout2 = 'z:\Путь_к_каталогу_с_файлами\AX1'
# если не существуют, то создаем:
if(!(test-path $fldout1)){md $fldout1|out-null}
if(!(test-path $fldout2)){md $fldout2|out-null}
# фильтр файлов по расширению:
$inc = '*.AF1','*.AX1'
# расширение для переименования:
$ext = '.MIX'
# кодировка:
$enc = 'utf8'
$utf8 = new-object system.text.utf8encoding $false

dir $fldin -inc $inc -file|%{
	$file = $_
	$tmp = (gc $_.fullname -raw -enc $enc) -replace ' \]',']'
	$utf8.getbytes($tmp)|sc $file.fullname -enc byte
	if ($_.extension -eq '.AF1'){
		mi $_.fullname ("$fldout1\" + $_.basename + $ext)
	} elseif ($_.extension -eq '.AX1') {
		mi $_.fullname ("$fldout2\" + $_.basename + $ext)
	}
	
}
есть ещё и другие варианты, конечно, но думаю, что для достижения цели, этого вполне хватит...

-------
scio me nihil scire

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

Отправлено: 12:25, Вчера | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Текстовые файлы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - как сравнить текстовые файлы в папке? rsersh Скриптовые языки администрирования Windows 1 04-06-2016 22:24
CMD/BAT - Как найти текстовые файлы yaoleg2 Скриптовые языки администрирования Windows 7 10-01-2013 21:23
Прочие - Текстовые файлы Bazaroff Программное обеспечение Windows 3 25-04-2010 21:39
Не открываются текстовые файлы и изображения и к ним создались файлы с расшир. drweb leda Лечение систем от вредоносных программ 1 03-10-2009 01:22
Delphi - Текстовые файлы в Delphi Borislav Программирование и базы данных 2 11-01-2005 13:18




 
Переход