You can use the biterscripting chex command (character extractor) to extract the first character of the file name. Here is the script. Assume your files are at C:\My Directory.
# Script move1.txt
# Change directory to My Directory.
cd "C:\My Directory"
# Collect a list of *.txt files.
var str list ; lf -n "*.txt" > $list
# Go thru files one by one.
while ($list <> "")
do
# Get the next file.
var str file ; lex "1" $list > $file
# $file now has full path of a found *.txt file. Get just the file name.
var str filename ; stex -p "^/^l[" $file > $filename
# $filename has just the file name. Get the first character.
var str firstchar ; chex -p "1" $filename > $firstchar
# $firstchar now has the first char of file name. The folder where we
# want to move this file is, then, C:\Destimation Folder\$firstchar .
var str destfolder ; set $destfolder = "C:\Destination Folder\"+$firstchar
# Move $file to $destfolder.
system move ("\""+$file+"\"") ("\""+$destfolder+"\"")
done
Script is in biterscripting ( http://www.biterscripting.com ) . To try, save the script as C:\Scripts\move1.txt, start biterscripting, enter the following command.
script move1.txt
If you need to run the script periodically, schedule the following command in the task scheduler.
"C:\biterScripting\biterScripting.exe" "move1.txt"
I have not tested the script, test it on sample files. Make sure you change the "C:\My Directory" and "C:\Destination Folder" to their correct values. Always use double quotes with file names and paths.