Войти

Показать полную графическую версию : Выполнить определенные команды при редактировании файла


амир-05
15-06-2015, 12:16
Здравствуйте ув. форумчане.У меня такой вопрос:как сделать чтобы при редактирования file1 батник выполнял определённые команды? Я сделал чтобы при изменение размера файла выполнялись эти команды,но иногда при редактировании размер остаётся такой же и команды не выполняются.Подскажите пожалуйста чёткий скрипт работающий без сбоев.Я думал чтобы скрипт сравнивал содержимое файла до редактирования и после,но мне не удалось это реализовать т.к в bat переменные не могут "держать" более 1 строки.Помогите мне пожалуйста!Заранее спасибо всем!

Foreigner
15-06-2015, 12:19
амир-05, Может лучше редактировать копию файла, а потом сравнивать с исходником.

амир-05
15-06-2015, 12:22
нет такой вариант исключается.

сравнивать »
а как сравнивать напиши скрипт пжл!

Charg
15-06-2015, 12:45
Я сделал чтобы при изменение размера файла выполнялись эти команды »
Как? Может вместо размера файла лучше отслеживать дату изменения?

Iska
15-06-2015, 13:18
Я думал чтобы скрипт сравнивал содержимое файла до редактирования и после,но мне не удалось это реализовать т.к в bat переменные не могут "держать" более 1 строки. »
Считайте хэш содержимого файла.

А Вам всенепременно надо на пакетных файлах реализовать данную задачу? И какие команды Вы исполняете?

амир-05
15-06-2015, 15:00
И какие команды Вы исполняете? »
какая разница пусть будет echo 123.А про хэш поподробней пжл

Charg
15-06-2015, 15:02
какая разница »
Ты расчитываешь на помощь телепатов или что?

амир-05
15-06-2015, 15:02
Может вместо размера файла лучше отслеживать дату изменения? »
я так делал,но в моём случае file1 редактируется очень часто,а команда даты изменения выдаёт время до минуты но увы не секунды(((.

ок вот код:
@echo off
set /p list=""
:label
for %%i in ("D:\Ќ… ’…ђџ’њ+++=\ЂЊ€ђЂ\ЊЋ€ ЏђЋѓ€\my prog_c++ь%list%.c") do (set /a size=%%~Zi)
if %size% == %size2% goto x else
del "my prog_c++ь%list%.exe"
cd "D:\Ќ… ’…ђџ’њ+++=\ЂЊ€ђЂ\ЊЋ€ ЏђЋѓ€"
g++ "D:\Ќ… ’…ђџ’њ+++=\ЂЊ€ђЂ\ЊЋ€ ЏђЋѓ€\my prog_c++ь%list%.c"
ren "C:\Users\%USERNAME%\Desktop\a.exe" "my prog_c++ь%list%.exe"
copy "my prog_c++ь%list%.exe" "D:\Ќ… ’…ђџ’њ+++=\ЂЊ€ђЂ\ЊЋ€ ЏђЋѓ€"
:x
for %%i in ("D:\Ќ… ’…ђџ’њ+++=\ЂЊ€ђЂ\ЊЋ€ ЏђЋѓ€\my prog_c++ь%list%.c") do (set /a size2=%%~Zi)
ping -n 2 localhost>Nul
goto label

это компилятор

пока эта программа реагирует на изменение размера файла:for %%i in ("D:\Ќ… ’…ђџ’њ+++=\ЂЊ€ђЂ\ЊЋ€ ЏђЋѓ€\my prog_c++ь%list%.c") do (set /a size=%%~Zi) »

Iska
15-06-2015, 15:22
какая разница пусть будет echo 123. »
Перевожу на русский: ноги растут отсюда: C/C++ - Подключение библиотек (http://forum.oszone.net/thread-301204.html).

амир-05, если Вам нет разницы, то мне — тем паче.

А про хэш поподробней пжл »
Хеширование — Википедия (https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5). Например: MD5 — Википедия (https://ru.wikipedia.org/wiki/MD5).

Но Вам это не нужно. Совсем. Вам нужно просто корректно настроить используемый Вами Notepad++ под реальную имеющуюся задачу (Notepad++ C++ compile - Поиск в Google (https://www.google.com/search?q=Notepad%2B%2B+C%2B%2B+compile)), а не ту, которую Вы себе придумали.

амир-05
15-06-2015, 15:56
я попробовал добавить плагин в notepad++,но мне он не понравился.Мне комфортней нажать ctrl + и прога на раб. столе скомпилированная.Ответьте на мой вопрос:можно ли добавить библиотеки в notepad без всяких плагинов? Я видел в интернете видео на английском он кидал плагины в mingw.будет ли это работать?В общем прошу подсказать мне решение как добавить плагины.А с батником разберёмся позже )

ctrl + »
ctrl s тоесть

Iska
15-06-2015, 16:31
можно ли добавить библиотеки в notepad без всяких плагинов? »
как добавить плагины. »
Определитесь для начала, «кто на ком стоял».




© OSzone.net 2001-2012