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." 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 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
- Rename file based on data in file
- Rename file based on data in file ✓ - Forum - Programming
- Excel vba rename files based on list ✓ - Forum - Excel
- Rename file with timestamp cmd ✓ - Forum - Programming
- DOS script to rename files - How-To - Windows
- Shell/Linux - Rename files and add numbering - How-To - Linux