Твой софтовый форум > Тематические форумы > Программирование

Батники

,

bat навсегда

Дата публикации: 10.02.2015 - 06:06
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
nokeMoH
Добрый день любимые форумчане.. подскажите пожалуйста.. Нужен батник слейдующего характера:

Есть [.txt] файл размером не более нескольких 10-ов кБ, требуется слейдующее..

Чтобы при активации [.bat] файла (двойным по нему кликом), он автоматически в самом конце документа, заменял последие имеющиеся там символы (10, 20, 50, 100 или 200 штук символов) на одну и ту же совершенно любую букву.. Была чтобы желательно возможность править этот [.bat] файл вручную, для определения точного количества замен, на личный выбор это 100, 200 или 500 последних символов в документе, не важно сколько.. © Есть только одно условие.. Чтобы последние 5-10-20 символов в документе не были видоизменёнными, а оставались прежними.. Желательно это количество чтобы тоже в [.bat] файле контролировалось..

К примеру есть документ с содержанием таким: 1234567890qwertyuiopasdfghjklzxcvbnm ,, нужно оставить последних 5 символов, а 12 перед ним, заменить на символ Ы ,, в результате чего бы получили 1234567890qwertyuioЫЫЫЫЫЫЫЫЫЫЫЫcvbnm.. То есть общее количество символов в документе не прибавляется, а остаётся прежним, по скольку они не дописываются, а заменяются друг на друга..

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

unsure.gif Пожааалуйста, помогитее !!!

(!) произошло изменение текста для тех, кто уже успел прочитать его первую форму, небольше поправки, просим прощения..
nokeMoH
Извиняемся за даблпостинг.. Сделали эту тему по той причине, что найденные примеры в сети по батникам, не подходили, коряво работали, и не всегда срабатывали на различных текстах, думали может есть что-то универсальное, наверное увы((.. Нужно направленное [.exe] приложение, Просто очень нужно, рассмотрели бы любые условия, софтинка вроде бы не весьма хитровыдуманная, простая..

Какая будет примерная цена вопроса если говорить об этом.. Не отворачивайтесь пожалуйста..
eli2003
Вопрос - работа идет в винде?
Извиняюсь за древность - можно на Clipper exeшник сработать. (раньше с ним работал. Сейчас только изучаю С++, Яву.) При включении будет спрашивать Сколько знаков менять на какой и сколько оставлять. Но... просто тут у нас, наверняка, есть кодеры и на нормальных языках)))) Что-нибудь под виндой сделать могут. На крайний случай - стучи.
ENOTik_18654
nokeMoH, я думаю тут надо изобретать что-то на VBS)
nokeMoH
Да товарищи, софтинка такая нужна на XP.. eli2003, не разбираемся в программировании, а очень хочется.. даже не имеем представления в какой среде программирования созданная программка работала бы быстрее остальных, наверное это чуть ли ни один из самых важных параметров при написании приложений для многих.. Ну и как и другим, хотелось бы конечно что бы приложение работало относительно без замедлений.. ENOTik_18654, все найденые и испытанные Батники в сети не подходили по той только лишь причине, что они уже запинались при работе с текстом, где встречались крякозябы, - a.k.a 00-ff в HEX кодировке(..
nokeMoH
Большое спасибо всем за намёки и подсказки, временно все наши проблемы смогли пока решить связка из двух Консольных утилит под Win32, это DD for Windows и xvi32, к коим привели долгие, продолжительные безостановочные поиски.. Решили проблемы временно, - потому что они консольные, уж больно много боли с ними работать, что-то где-то подписывать, приписывать.. Не учились мы этому, и один лишний невнимательный знак, - и ни чего не работает, куда проще с GUI, которого нету(..

Есть одна идейка, аналогов которой нету ни где, что хочется очень воплотить наяву, по этому знаем что надоели своим незнаием и где-то глупыми вопросами.. Они со временем ещё будут появляться, пожалуйста не отворачивайтесь от чайников.. Хотелось бы и далее надеятся на Вашу помощь smile.gif ....
Legat
Сорри что поздновато, давно тут не был. Ну и с праздничками заодно.

Code

cls
$infile="f:\1.txt"
$out_file="f:\2.txt"
$new_substring="##########"
$toend=10
$encoding=[System.Text.Encoding]::Default
$content=[System.IO.File]::ReadAllText($infile,$encoding)
$begin_a=$content.Substring(0,$content.Length-$new_substring.Length-$toend)
$end_a=$content.Substring($content.Length-$toend)
$end_string=$begin_a + $new_substring + $end_a
[System.IO.File]::WriteAllText($out_file,$end_string,$encoding)


работает на текстовых файлах разной кодировки, указать можно в строке [System.Text.Encoding]::Default -соответствует ANSI. Думаю до пары-тройки мегабайт файлики перелопатит. размер файла сохраняется, кодировка тоже, но проверьте, какая у вас исходная - без понятия. Переменные начинаются с символа $, $toend - сколько вам надо оставить с хвоста файла. $new_substring - то на что хотите поменять.

Официальная ссылка на дистриб (Как загрузить Windows PowerShell)


! Предупреждение:
Активные ссылки на сторонние ресурсы запрещены Правилами нашего Форума. Устное предупреждение!
Anthony
Прошу помощи вот в чём...

Нужно устроить бэкап почты. Outlook 2010 на Windows 7.
Сама прога на компе не закрывается, письма приходят постоянно и много.

Соответственно мне необходимо сохранять на серваке в лок. сети этот файл *.pst, но так чтобы прога не закрывалась. Или закрывалась, но после бэкапа открывалась заного.

Я настроил бэкап в самой винде (Функция архивации и восстановления данных), но:
1 - На стороннем компе восстановить *.pst не смог, выдавало ошибку
2 - *.pst файл довольно увесистый, а функции удаления старых копий в майкрософте не предусмотрели. ОТсюда переполнение дискового пространства на серваке.

Вопрос...
А нельзя ли сделать батник, который бы:
- каждый день в 04:00 утра выключал бы прогу Outlook
- сжимал файл *.pst в winrar'е с добавлением в имени файла даты
- запускал копирование файла *.pst на сервак
- удалял старые копии с сервака
- включал прогу

?
_Dimas_
Примерно таким макаром можно сделать

Code
@echo off

rem Формирование текущей даты в формате ГГГГ.ММ.ДД
for /f "tokens=1-4 delims=. " %%i in ('echo %Date%') do (
 set CurYaer=%%k
 set CurMonth=%%j
 set CurDay=%%i
)            
set CurDate=%CurYaer%.%CurMonth%.%CurDay%

rem Что архивируем (Файл бызы Outlook)
set ArcFiles=%LocalAppData%\Microsoft\Outlook\OST-FileName.ost
rem Куда архивируем
set ArcDest=\\SERVER\SHARE\ArcOutlook\
rem Как обзываем файл (Сохраняем в формате "ИмяПК_Логин")
set ArcFile=%ComputerName%_%UserName%

rem Путь программе архиватора и параметры запуска
set ExeRar=C:\Program Files\WinRAR\Rar.exe
set ParamRar=a -dh -ep1 -m5 -os -r -rr5p -y "%ArcDest%%ArcFile%_%CurDate%" "%ArcFiles%"

rem Убиваем Outlook
taskkill /im outlook.exe /f

rem Удаляем старые копии архивов
del /F /Q "%ArcDest%%ArcFile_*.rar"

rem Запускаем архивирование
"%ExeRar%" %ParamRar%

rem Запускаем Outlook
"C:\Program Files ..... outlook.exe"
Anthony
Спасибо!! Супер,а куда мне вставить время начала операции?
Может сделать ежедневное задание в винде на 04:00 на выполнение этого файла?

И ещё, получается я сначала удалю все копии, а уже потом приступлю к бэкапу?
А если в этот момент ........ Я останусь без всего.

Можно ли сначала сделать бэкап, а уже потом (если всё пройдёт нормально) удалять прежние копии?
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Батники
SoftoRooM © 2004-2024