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

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

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

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


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

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


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

Отправлено: 12:16, 15-06-2015

 

Ветеран


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

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


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

Отправлено: 12:19, 15-06-2015 | #2



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

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


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


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

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


нет такой вариант исключается.

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

Отправлено: 12:22, 15-06-2015 | #3


Аватара для Charg

Ветеран


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

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


Цитата амир-05:
Я сделал чтобы при изменение размера файла выполнялись эти команды »
Как? Может вместо размера файла лучше отслеживать дату изменения?

Отправлено: 12:45, 15-06-2015 | #4


Ветеран


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

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


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

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

Отправлено: 13:18, 15-06-2015 | #5


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


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

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


Цитата Iska:
И какие команды Вы исполняете? »
какая разница пусть будет echo 123.А про хэш поподробней пжл

Отправлено: 15:00, 15-06-2015 | #6


Аватара для Charg

Ветеран


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

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


Цитата амир-05:
какая разница »
Ты расчитываешь на помощь телепатов или что?

Отправлено: 15:02, 15-06-2015 | #7


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


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

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


Цитата Charg:
Может вместо размера файла лучше отслеживать дату изменения? »
я так делал,но в моём случае 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

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

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

Отправлено: 15:02, 15-06-2015 | #8


Ветеран


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

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


Цитата амир-05:
какая разница пусть будет echo 123. »
Перевожу на русский: ноги растут отсюда: C/C++ - Подключение библиотек.

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

Цитата амир-05:
А про хэш поподробней пжл »
Хеширование — Википедия. Например: MD5 — Википедия.

Но Вам это не нужно. Совсем. Вам нужно просто корректно настроить используемый Вами Notepad++ под реальную имеющуюся задачу (Notepad++ C++ compile - Поиск в Google), а не ту, которую Вы себе придумали.

Отправлено: 15:22, 15-06-2015 | #9


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


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

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


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

Цитата амир-05:
ctrl + »
ctrl s тоесть

Отправлено: 15:56, 15-06-2015 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как выполнить две команды одновременно ufooo Скриптовые языки администрирования Windows 8 28-07-2016 08:33
проблема с кодировкой при передаче на вход команды файла Bint Программное обеспечение Linux и FreeBSD 4 06-04-2011 02:27
[решено] Как после команды Run выполнить Exit Centrinar AutoIt 5 01-02-2010 21:30
При автоматической установке игнорируются команды файла cmdlines.txt DreamSworK Автоматическая установка Windows 2000/XP/2003 3 11-11-2005 11:01
bash: Как выполнить многострочный результат другой команды shivtorov Общий по Linux 12 04-10-2005 10:20




 
Переход