Find Path Changes  V2.4

 

 

 

'Find Path Changes' is a handy program if you need to know what has changed in a directory or even in a whole hard drive. This allows you to find "lost" files in a extended directory tree (you have changed it shortly, but you don't know any longer where it is..)  . It also gives you the possibility to observe directories you are responsible for (for example at your working place). The program shows you changed/new/deleted files and you can react accordingly.

 

 

Functions:

 

 

 

Supported Operating Systems

 

The 'Find Path Changes' program can be used on the following operating systems:

Windows XP, Windows Server 2003, Windows Vista, Windows 7 (32 and 64 Bit), Windows 8.1 (32 and 64 Bit)

 

 

 

Manual

 

 

When you start 'Find Path Changes' the first time, you get this window with the above default settings.

 

Workflow

 

Later on when you want to check if something has changed within the directories in PathList.pfl, just click Start. The changed found are shown in the window and are also saved to a file. This file can be opened by the button 'Open found changes'.

 

 

Functions description

 

Add Path: Allows adding new directories to the PathList. Paths can also be added and removed manually.

Excluding a path: It is possible to exclude a sub directory by adding a minus (-) in front of the path. Example: The directory C:\Data contains two sub directories: MyData and YourData. By using the following entries in the PathList just C:\Data\MyData will be checked:

C:\Data\

-C:\ Data \YourData

 

Load / Save: Allows to load / save PathList files. That means you can have as many Path-Check-Lists as you like.

 

Filter: Allows to filter the files to be checked.

 

The search filter can contain *, ?, #, !, [ and ] for filtering the result.

Kind of match

Pattern

Match

No match

Multiple characters

a*a

aa, aBa, aBBBa

aBC

 

*ab*

abc, AABB, Xab

aZb, bac

Special character

a[*]a

a*a

aaa

Multiple characters

ab*

abcdefg, abc

cab, aab

Single character

a?a

aaa, a3a, aBa

aBBBa

Single digit

a#a

a0a, a1a, a2a

aaa, a10a

Range of characters

[a-z]

f, p, j

2, &

Outside a range

[!a-z]

9, &, %

b, a

Not a digit

[!0-9]

A, a, &, ~

0, 1, 9

Combined

a[!b-m]#

An9, az0, a99

abc, aj

 

 

Open found Changes: Opens a notepad containing the found changes of the last run with this PathList.

 

Template created: Shows the template creation date and time.

 

File Path: This path is set to 'Application Data' by default, but it can be changed to any other paths. (Hint: Do not use directory C:\ directly, use a subdirectory). This path contains the PathList files, the template files and the log-files.

 

E-Mail Address: Field for one or more e-mail addresses (Separator: ;) In case the program finds changes, one or more e-mails are sent. E-Mails are just sent if the e-mail settings are set accordingly.

 

E-Mail Subject: Field for the subject text.

 

Status: This filed shows the program activity during run.

 

Save as Template: If 'Find Path Changes' has found changes in the directory, this button allows saving the new state as template

 

Create new template: Always as first task after defining a new PathList (or after changing a PathList) a new Template must be created. The check is always made against this template. You might also create a new Template if you want to 'reset' your change basis.

 

Using CRC: By default the program uses the file length as a checksum. This can lead to errors if a file is changed, but remain the same length (e.g. a word is exchanged with a other word of the same length.) By using CRC a more advanced checksum is used (the above change would be recognized by CRC). Disadvantage: The checking time is double as long as with the file length as checksum.

Hint: Files larger than 50 MB are not checked by CRC, but always by file size.

 

Process Priority: 'Find Path Changes' allows to adjust its own process priority. This is very useful if a large directory is checked. By using normal priority the program runs on the same level as the other programs and the user interactions. That means the PC works "slower" for the user. By using low priority the users activities have priority before the 'Find Path Changes' program. That means in this case the user does not feel any speed change.

 

Stop: This button allows to stop a running check. (Exit closes the program)

 

 

Command Line

 

'Find Path Changes' supports Command Line. That means the program can be called by an Icon or a batch file or even by a scheduler.

By calling the program by command line 'Find Path Changes' stays invisible until the end of the check. If the program has found a change the window appears and shows the result, otherwise the program closes without a trace.

 

Example for a Command Line call:

C:\Programs\KraTronic\FindPathChanges\FindPathChanges.exe PathList.pfl --pLow

 

Command Line Parameters:

 

Hint for creating a 'Find Path Changes' icon:

Click on your PC desktop with the right mouse key and choose New and then Shortcuts. An icon wizard is started. Fill in the command line as described above. Choose a proper name for your new icon.

 

By using a batch file for the command lines you can run several PathList files successively. Example:

 

C:\Programs\KraTronic\FindPathChanges\FindPathChanges.exe PathList1.pfl –pLow

Start C:\Programs\KraTronic\FindPathChanges\FindPathChanges.exe PathList2.pfl –pLow

Start C:\Programs\KraTronic\FindPathChanges\FindPathChanges.exe PathList3.pfl --pLow

 

By using 'start' in the batch file the programs do not run concurrently. You should not run 'Find Path Changes' concurrently. This can cause a mess in the settings.

 

As a scheduler you can use Scheduled tasks (Windows function). Hint: Do not use other users than yourself. Otherwise you will not see the results (changed files)

 

If the PC runs unattended and changes are sent by e-mail, then the task scheduler must be set that way that 'Find Path Changes' is ended by the scheduler after e.g. 12 hours. If this is not done all started 'Find Path Changes' programs will stay, and that way finally all the PC memory is consumed.

 

 

 

Sending E-Mails

 

To be able to send notification e-mails, first the data for the used e-mail account must be entered. 'Find Path Changes' supports SMTP mail servers. The necessary data is usually provided by the e-mail provider.

 

 

 

 

 

E-Mail Server:

The e-mail server which should be used. Example: smtp.gmail.com

 

E-Mail Account:

The account name which should be used. Example: MyName@gmail.com

 

E-Mail Password:

The password belonging to this account

 

E-Mail Domain:

This field can usually be left empty

 

E-Mail Sender:

This is the sender mail address which appears in the receiver e-mail. Hint: Some mail sever check the sender address if it is in line with the sending mail server domain name. If server domain and domain name in the sender address do not fit, the mail is discarded.

 

E-Mail settings encrypted:

Because the secret password needs to be entered, this program offers the possibility to encrypt account name and password. When this option is activated, an encrypting password is asked for. Afterwards account name and password look that way:

 

 

Account name and e-mail password can only be set back to the unencrypted view with the correct encrypting password.

 

SSL and Port:

These two settings are dependent of the used mail server. SSL means encrypted transport of the e-mail. The set port must fit to the port set at the mail server. Examples: GMail: SSL: Activated, Port: 587,  Normal Mail Server: SSL: deactivated, Port: 25 / Secure port usually: 465

 

Sending E-Mails always:

Without this option an e-mail is only sent if changes have been found

 

No result window with e-mail and command line:

In case e-mails are sent, it is not really necessary to have the program still open after it ends. This option allows having the program closed after the mail is sent. This is also handy in case the 'Find Path Changes' - Program is started by the task scheduler.

 

Delete E-Mail password and Account Name:

In case you forgot the encryption password, mail password, account name and encryption password can be deleted

 

 

Not considering 'thumbs.db'

In certain situation Windows stores the file 'thumbs.db' to the directory. This file is not relevant for path changes. This option allows to omit those files.

 

 

Checking Run-Time

 

By using command line, changes are only shown if changes have been found. In case "Find Path Changes" is not called at all, you will it not recognize or just too late. This situation can occur, if the Windows Scheduler is used and the Windows password had to be changed. (Some IT rules require a periodic password change). If this password change is not updated in the scheduler, "Find Path Changes will simply not be called.

A run time checking can be implemented the following way:

Enter a valid path and filename to the following registry path: HKEY_CURRENT_USER\Software\VB and VBA Program Settings\FindPathChanges\Startup – String: DateFile. "Find Path Changes" will then write the actual date to this file after each run. Example: 15.12.2010. This date could now be checked by a script during PC boot.

 

If you don't like to change the registry manually the following Reg-script can be used:

 

Windows Registry Editor Version 5.00

 

[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\FindPathChanges\Startup]

"DateFile"="C:\\myData\\FindPathChanges\\Date.txt"

 

Copy the brown text to notepad and adjust the path C:\\.... (Paths needs to be separated by two \\) Save the text as FPC.reg and start this file.

 

For checking the date the following Mouse and Key Recorder macro can be used. (The Recorder can be found here: http://www.kratronic.com/tools/recorder)

 

Here the necessary macro for the Mouse and Key Recorder:

(The red text must be adjusted, > 1 means every day, > 7 means every Week)

 

{{SetGenDelay 0
{{Minimize
{{ImportFile C:\myData\FindPathChanges\Date.txt
{{SetStringDate {{DoImport}

{{SetVarDay {{Left {{StringDate} | 2}

{{SetVarMonth  {{Mid {{StringDate} | 4 | 2}

{{Gosub DaysOfYear

{{IncVarTotaldays {{VarDay}

{{SetVarYear  {{Mid {{StringDate} | 7 | 4}

{{DecVarYear 2000

{{MulVarYear 365

{{IncVarTotaldays {{VarYear}

{{SetVarTotalDaysRead {{VarTotaldays}

 

{{SetStringDate {{Date}

{{SetVarDay {{Right {{StringDate} | 2}

{{SetVarMonth  {{Mid {{StringDate} | 6 | 2}

{{Gosub DaysOfYear

{{IncVarTotaldays {{VarDay}

{{SetVarTotaldays {{VarTotaldays}

{{SetVarYear  {{Mid {{StringDate} | 1 | 4}

{{DecVarYear 2000

{{MulVarYear 365

{{IncVarTotaldays {{VarYear}

 

{{If {{Calc {{VarTotaldays} -  {{VarTotalDaysRead}} > 1 ;;{{Goto Ende

{{MessageBox FindPathChanges did not run for {{Calc {{VarTotaldays} -  {{VarTotalDaysRead}} days !!!

 

{{Goto Ende

{{Label DaysOfYear

{{SetVarTotaldays 0

{{If {{VarMonth} >= 1 ;{{IncVarTotaldays 31;

{{If {{VarMonth} >= 2 ;{{IncVarTotaldays 28;

{{If {{VarMonth} >= 3 ;{{IncVarTotaldays 31;

{{If {{VarMonth} >= 4 ;{{IncVarTotaldays 30;

{{If {{VarMonth} >= 5 ;{{IncVarTotaldays 31;

{{If {{VarMonth} >= 6 ;{{IncVarTotaldays 30;

{{If {{VarMonth} >= 7 ;{{IncVarTotaldays 31;

{{If {{VarMonth} >= 8 ;{{IncVarTotaldays 31;

{{If {{VarMonth} >= 9 ;{{IncVarTotaldays 30;

{{If {{VarMonth} >= 10 ;{{IncVarTotaldays 31;

{{If {{VarMonth} >= 11 ;{{IncVarTotaldays 30;

{{If {{VarMonth} >= 12 ;{{IncVarTotaldays 31;

{{Return

{{Label Ende

{{Exit

 

This macro can be e run by a shortcut in the auto start folder

 

 

Kra-Tronic Corp. 1. April 2015