我做了一个简单的局域网聊天批处理文件,我想知道如果有一个命令可以检查特定的TXT文件是否被更新。聊天记录存储在log.dat中,当有新消息时,我想要有一个声音通知或类似的东西。
@echo off
title LAN chat reader
call Color.bat
:read
call Color.bat
cls
type log.dat
timeout /t 3 /nobreak >nul
goto read
(我是新手,请告诉我是否可以)
查看文件日期/时间使用for
和%%~t
前缀:
@echo off
title LAN chat reader
setlocal enableDelayedExpansion
:read
call Color.bat
cls
type log.dat
for %%a in (log.dat) do set filetimesize=%%~tza
:checkupdate
ping -n 1 -w 100 localhost >nul
for %%a in (log.dat) do if "!filetimesize!"=="%%~tza" goto checkupdate
echo updated
goto read
wOxxOm已经给出了检查更新文件的解决方案。
这是一种产生声音的方法:
copy con bell.txt
然后按住ALT键输入007
,然后释放ALT键。^G
应该出现在屏幕上(= 0x07,这是一个Bell),然后按Ctrl-Z。这给你一个长度= 1字节的文本文件
Type bell.txt
将发出蜂鸣声。
EDIT生成bell.txt
的更简单方法:在命令行上输入echo ^G>bell.txt
(要生成^G
,按CTRL
- G
)。这将创建一个三字节的文件(而不是使用copy
技巧的一字节文件)(但这只是换行,不应该干扰)。