我想写一个批处理,监控文件的变化,如果有变化语音或者有声音提醒怎么写

我想写一个批处理,监控文件的变化,如果有变化语音或者有声音提醒怎么写,第1张

把下面的批处理存为mymonitor.bat。

@echo off

:A0

@copy "%1" "_%1"

@fc "%1" "逗晌_%1"|find "*****">nul

@if %errorlevel%==0 (

@beep.bat

@del "_%1"

@copy "%1" "吵闭_%1"

@ping -n 5 127.0.0.1>nul

@goto A0

运行时把,这个批处理还有beep.bat放在被监控的文件夹下,在cmd中输入

mymonitor.bat 被监控的文件名

程序说明:

1、开始运行批处理时,将被监控的文件拷贝一个副本,用被监控文件与该副本比较;

2、发现不一致时先用声音提示,然后重建副本;

3、每隔五秒循环一次,直至遇到山碰锋Ctrl+C退出。

监控cmd调用而且基于cmd进行调用,它有5个自定义的参数:1)需要进行监弯此控的页卜枝面完整网址2)需要进行监控的关键字3)监控的间隔,即多久监控一次4)出现关键字时发出的埋弊迅声音文件5)监控未正常运行时发出的声音文件

键控程序简单事例:#include <string.h>

#include <conio.h>

#include <stdlib.h>

#include <dos.h>

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define DOWN 0x5000

#define UP 0x4800

#define ESC 0x011b

/*======== ALL VAR==============*/

int bleft=10

int width=52

int height=20

/*=========About Location===========*/

typedef struct

{

int x, y

int xv, yv

}Location/*=============About Welcome=============*/

void menu()

{ printf(" welcom to coming\n")

printf("=======================================================\n")

printf("! In the game please press ESc to quit! !\n")

printf("! Enter the game?(Y/N)!\n")

printf("=======================================================\n")

}

/*=========About border==========*/

void bianjie()

{

int i

for(i=0i<blefti++)

printf(" ")

for(i=0i<widthi++)

{ printf("=")

}

for(i=0i<heighti++)

{ gotoxy(bleft,i)

printf("!")

}

for(i=0i<heighti++)

{ gotoxy(width+bleft,i)

printf("!")

}

for(i=1i<widthi++)

{ gotoxy(bleft+i,height-1)

printf("=")

}

}

/*==========About pro things===========

void things()

{

}*/

/*===========About Oprtion=============*/

void zhixing()

{

int i,key

Location shili

shili.x=bleft+1

shili.y=1

shili.xv=5

shili.yv=5

while(1)

{

key=bioskey(0)

if(key==ESC)/**/

break

else if(key==UP)

{

for(i=0i<shili.yvi++)

{

if(shili.y-shili.yv>1)

{

shili.y--

gotoxy(shili.x,shili.y+1)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else {

if(shili.y>1)

{

shili.y--

gotoxy(shili.x,shili.y+1)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else { shili.y++

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

gotoxy(shili.x,shili.y-1)

printf(" ")

}

}

}

}

else if(key==DOWN)

{

for(i=0i<shili.yvi++)

{

if(shili.y+shili.yv<height)

{

shili.y++

gotoxy(shili.x,shili.y-1)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else {

if(shili.y<height)

{

shili.y++

gotoxy(shili.x,shili.y-1)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else { shili.y--

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

gotoxy(shili.x,shili.y+1)

printf(" ")

}

}

}

}

else if(key==LEFT)

{

for(i=0i<shili.xvi++)

{

if(shili.x-shili.xv>bleft)

{

shili.x--

gotoxy(shili.x+1,shili.y)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else {

if(shili.x>bleft)

{

shili.x--

gotoxy(shili.x+1,shili.y)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else { shili.x++

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

gotoxy(shili.x-1,shili.y)

printf(" ")

}

}

}

}

else if(key==RIGHT)

{

for(i=0i<shili.xvi++)

{

if(shili.x+shili.xv<width+bleft)

{

shili.x++

gotoxy(shili.x-1,shili.y)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else {

if(shili.x<width+bleft)

{

shili.x++

gotoxy(shili.x-1,shili.y)

printf(" ")

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

}

else { shili.x--

gotoxy(shili.x,shili.y)

printf("%c\b", 2)

gotoxy(shili.x+1,shili.y)

printf(" ")

}

}

}

}

}}

/**********************************/

void main()

{ char ch

clrscr()

menu()

ch=getch()

if(ch=='N'||ch=='n')

return

else if(ch=='Y'||ch=='y')

{ clrscr()

bianjie()

zhixing()

}

}C语言获取键值函数事例:/*函数名称: bioskey

函数原型: int bioskey(int cmd)

函数功能: 读取键盘值

函数返回: cmd=0:返回一个键盘值(ascii值放在低位,扫描码放在高位),若无按键,一直等

cmd=1:查询键盘是否按下:0-无键按下,非0-有键按下

cmd=2:返回控制键状态,返回值保存在低8位中

0-右边的shift键按下 5-已打开Scroll_Lock

1-左边的shift键按下 6-已打开Num_Lock

3-Ctrl键按下 7-已打开Caps_Lock

4-Alt键按下 8-已打开Insert

参数说明:

所属文件: <bios.h>*/

#include <stdio.h>

#include <bios.h>

#include <ctype.h>

int main()

{

int key, shift

int lastshift

while (1)

{

shift=bioskey(2)

if(shift!=lastshift)

printf("Shift=0x% 02x\n",shift)

if(bioskey(1))

{

key=bioskey(0)

if((key&0xFF)=='q')

break

printf("Key=0x% 04x",key)

}

lastshift=shift

}

return 0

}文件存在性判断事例:#include <stdio.h>

#include <io.h>

int file_exists(char *filename)

int main()

{

printf("Does myfile.FIL exist: %s",file_exists("myfile.FIL") ? "YES" : "NO")

getch()

return 0

}

int file_exists(char *filename)

{

return (access(filename,0)==0)

} 如还有疑问,请追加!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12560596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存