Rename file based on data in file

[Solved/Closed]
Report
-
 Lisa -
Hello,

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.

Thanks in advance for your help.
Lisa

1 reply

Posts
25
Registration date
Saturday November 7, 2009
Status
Member
Last seen
July 18, 2012
14
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." 
endif 
cd $folder 

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

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

    # 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+"\"") 
done 



Script is in biterscripting. Save the script in file C:/Scripts/Rename12.txt, run with this command in biterscripting.

script "C:/Scripts/Rename12.txt" folder("C:/test")


It will rename all files in folder C:/test.

Please test first on a test folder.
Thanks for your help with this.

Lisa