Rename file based on data in file

December 2016

Rename file based on data in file


I'm hoping someone can help me create a batch file to rename text files in a specific folder to include data from the file. It is an asterisk delimited file and I need to use the data from the 12th field.


  • Here is a batch script.

# Script Rename12.txt 
var string folder 
var string list, file, content, field12 
if ($folder=="") 
    exit 1 "Error 1: folder not specified." 
cd $folder 

# Collect a list of files 
lf -n "*" > $list 

# Go thru files one by one 
while ($list <> "") 

    # Get the next file 
    lex "1" $list > $file 

    # Get the file's contents into a string variable. 
    cat $file > $content 

    # Get the value after 11th asterisk and before the next asterisk. 
    stex "^*^11[" $content > $field12 ; stex "[^*^" $field12 > null 

    # Rename file to the 12 field. 
    system rename ("\""+$file+"\"") ("\"file_"+$field12+"\"") 
    • Script is in biter scripting. Save the script in file C:/Scripts/Rename12.txt, run with this command in biter scripting.

script "C:/Scripts/Rename12.txt" folder("C:/test")
    • It will rename all files in folder C:/test.
    • Please test first on a test folder.


Solved by Richard.Williams

Related :

This document entitled « Rename file based on data in file » from CCM ( is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.