批处理文件请参见更改Txt文件时的更新

时间:2014-07-31 16:53:14

标签: windows batch-file

我有一个由我的BackSpace47.bat生成的TXT文件,代码为

set /p SomeVar=Enter Some Text Please: 
echo %SomeVar% >BSpace.txt
pause

我需要一个批处理文件,可以在显示一次后检查BSpace.txt是否已从BackSpace47.bat的上一个条目更改。如果它没有改变,那么它需要忽略它。如果文本已更改,则显示新文本。我试过这个并且多次失败我创造了无限循环并且很多时候XD崩溃了我的电脑。我想我会问专业人士。

1 个答案:

答案 0 :(得分:0)

可以通过使用受控语句来连续检查文本文件的内容并检查是否满足条件。

 @echo off

 Setlocal enabledelayedexpansion 

 :up

  If exist previouscontent.txt (

 call :check bspace.txt previouscontent.txt

 )





 For /f "tokens=*" %%a in (bspace.txt) do (

 set previouscontent=%%a & echo !previouscontent!>previouscontent.txt



 )

Goto up

 :check

 For /f "tokens=*" %%a in (%~1) do (

 For /f "tokens=*" %%# in (%~2) do (

 If "%%#"=="%%a" (

 Echo content not changed! [  %%a / %# ]

 ) else (

Echo content changed! [ %%a / %%# ]

 )


 )

 )

Echo  End of code 

 Pause