MySQL backing up MyISAM tables by copying the physical files - and automating the process
Basically, you need the following paradigm


Session #1 (MySQL)

Lock all tables
Read Lock
Sleep for a Long Time

Session #2 (Windows) : This you are already doing

Copy the .frm, .MYD, .MYI files for every MyISAM table

Session #3 (After Session #2 is Complete)

Look for Sleeping Connection of Session #1
Kill the SLEEP Query (Session #1 Will Terminate)



Create a File Called C:\KillLock.bat with these lines

@echo off
set MYSQL_USER=root
set MYSQL_PASS=rootpassword
set MYSQL_CONN=-u%MYSQL_USER% -p%MYSQL_PASS%
set KILL_SCRIPT=C:\KillSleepLock.sql
mysql %MYSQL_CONN% &lt; %KILL_SCRIPT%


Create a File Called C:\FlushTablesWithReadLock.bat with these lines

@echo off
set MYSQL_USER=root
set MYSQL_PASS=rootpassword
set MYSQL_CONN=-u%MYSQL_USER% -p%MYSQL_PASS%
set KILL_SCRIPT=C:\KillSleepLock.sql
start mysql %MYSQL_CONN% -ANe"FLUSH TABLES WITH READ LOCK; SELECT SLEEP(86400)"
mysql %MYSQL_CONN% -ANe"SET @x=SLEEP(180); SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE state='User sleep' AND info='SELECT SLEEP(86400)'" &gt; %KILL_SCRIPT%


This will lock all tables, pause for 3 minutes, then create the file C:\KillSleepLock.sql

Backup Process

Here are your steps to automate


STEP 01 : Run C:\FlushTablesWithReadLock.bat
STEP 02 : Run your process to backup the .frm, .MYD, .MYI files
STEP 03 : Run C:\KillLock.bat


I will leave it to you to implement this paradigm

Give it a Try !!!