Batch File List Operations
Replace Pioneer - text/binary/web file - Batch search,replace,convert,rename,split,download    Batch_Files_Selection  Non-replace_Batch_Operations 


By selecting file from "Pick Files", "Search Files", "Extract Links", user will get a Batch File List with following columns:




1. Sequence ID:


Indicating the sequence number of each file, start from 1.


2. Input File:


If the input source is file, this column will be the input filename without directory, if the input source is http address, the input filename column will be the whole http address.


3. Output File:


This column is automatically generated according to the rule of output filename, user can change value of this column by changing the rule, or edit items one by one. For http addresses input source, the output filename will also be the extracted from the last part of the address.


4. As:


If source file is http address, this column indicate the download type of the file.


Five types can be selected: html/html_page/text/links/binary


html/text/links type will get the html/text/links from the web address, html_page is same as html type, except that all objects on the html page will also be downloaded.


binary type will download the original file from web address, this type only apply to file download operation. The file with this type will be ignored in batch text replacement operation.


User can change this column by "Edit" button.


5. Input Directory


Indicate the directory of input file, not apply to http address type.


6. Output Directory


Indicate the directory of output file, can be changed batchly by "Change output file directory" option, or by "Edit" button one by one.


7. Date


Indicate the date of the file, only apply to the picked files or searched files.


8. Extension


The extension of the file. Also apply to http address type.



Following operations are allowed on the Batch File List:


1. Import/Export/Clear



By clicking "Import List", and selecting list file, user can load the batch file list. The list file is a normal text file, user can simply make the list file by adding each filename/webaddress(start with http://) in each line.


By clicking "Export List", a dialog of "export file list format" will open, user can select/modify default format for exporting, click "Next", the list will be saved to a file.


Following variables can be used in export format:





By clicking "Clear", the list will be cleared.



Note: the standard import format is <find>xxx</find><replace>xxx</replace>, besides that, system supports automatically analyze file that delimitered by "table", "comma", "space", "|", ":", "="



2. Sort



By clicking title of each column or right click each column, user can sort the list by this column ascendently or descently, user can also sort the list by number only. Sometimes the order of the list can not meet the user's requirement by sorting, user can manually adjust the position of each file by "Move Up" and "Move Down" buttons.



3. Edit



By selecting one of the items and clicking "Edit", a File Name Editor dialog box is poped-up.


User can change "Output Filename", "Download As type", and "Output Directory" respectively. The change of "Download Type" field can also be selected applying to all.



4. Change output filename for all files



If the "set output filename" option is checked, the Output filename of all files will be changed according to the rule user has selected. By default, the rule is ${FILENAME}, which means the output filename is set to the same as input filename. When files are firstly picked/searched/extract from source directory/webpage, the set output file option will be unchecked. When user change the rule, the output file list will be changed.



Integrated rename rules:



By click "Set output filename" drop down list, following integrated rules can be selected by user automatically, user can also change it on need, the latest used rules will be automatically recorded and listed at the top of the drop down list.



01) file => (none) --- blank filename, select this option if user don't want to write to file


02) file => file --- original filename


03) file => --- add .new after original file


04) file => 001_file --- add 3 digit sequence number before file


05) file => 123_file --- add 3 digit sequence number before file, starting from 123


06) base.ext => --- add .new after basename


07) base.ext => --- change file extension to .new


08) file => 001_firstline --- set filename to firstline of filecontent preceded by 3 digit sequence number


09) filename => filena --- remove last 2 characters of filename


10) filename => filenbme --- replace 'a' with 'b' in filename


11) filename => firstline(5 characters) --- set filename to firstline of filecontent, only keep 5 characters


12) filename => filename.01, 03, ... --- add 2 digit sequence number after filename, the increasing step is 2


13) filename =>, aab, ... --- add 3 characters after filename, from aaa to zzz


14) filename => FILENAME --- change filename to upper case


15) FILENAME => filename --- change filename to lower case


16) filename => html_title(10 characters).html --- change file to html title(keep 10 characters)


17) filename => 2008-08-08_08:08:08.txt --- change filename to the format of date time


18) filename => 2008-08-08(01).txt --- change filename to the format of date and sequence number


19) filename => 01_01.txt, 01_02.txt,... --- change filename to 2 numbers that increased in different loop


20) file => 001_secondline(60 chars) --- change filename to the second line of file content, keep 60 chars


21) file => 001_firstword(60 chars) --- change filename to the first word of file content, keep 60 chars


22) file.mp3 => artist-title.mp3 --- change filename to artist-title of mp3 files


23) file => newname from index file --- get filename from an index file, each line contains one file


Note: if user drag index file and drop to this entry, this rule will be auto applied.


24) file => from map file(format: old<tab>new) --- replace old filename with new filename by the rule in map file


25) file => random name(001_xxxxx) --- change filename to a random words with 6 characters


26) file => random word(001_xx/yy/zz) --- change the filename to any of words 'xx', 'yy', or 'zz' randomly


27) file => dirname_file --- add a directory name before the filename


28) file => dirname_001 --- change filename to directory name and sequence number


29) file.gif => file_1024x768.gif --- add the dimension to the filename of picture



The Meaning of elements in Rules:



Following are details if user need to change the rule.



Basic Rules:


${FILENAME} means the whole filename(entered in output filename field in replace dialog)


${BASE} means the filename without extension.


${EXT} means the extension, if file has no extesion, abc.${EXT} will equal to 'abc', not 'abc.'


${FIRSTLINE} means the using the firstline in the file as part or whole of the filename.


# means sequence No. occupying 1 character space.


## means sequence No. occupying 2 character spaces.




@ means sequence No. from 'a' to 'z'


@@ means sequence No. from 'aa' to 'zz'


@@@ and more means sequence No. from 'aaa' to 'zzz'



Advanced Rules:


${FILENAME}{n1,n2} means the character n1 to character n2 of the ${FILENAME}, if n1<0 or n2<0 means count from end.


${FILENAME}{function,para2,para3,... } will be translated to function(${FILENAME},para2,para3,...)


${FILENAME}{function,para2,para3,... }{n1,n2} is combination of above 2 rules


${FILENAME}<expression> means evaluate expression with ${FILENAME} as variable $match, for example ${FILENAME}<chars($match,1,3)> will be translated to chars(${FILENAME},1,3)


${FILENAME}<expression>{n1,n2} is combination of above rule and ${FILENAME}{n1,n2} rule.


##...#{num_start,num_step} means the sequence number start from num_start, increased by num_step.


##...#<expression> means evaluate expression with sequence number as variable $match.


<expression> means evaluate expression, this is a stand-alone rule, can not be combined with other rules, but this rule allow "<" and ">" characters appearing in the expression such as will take html title from file or web address.



Note 1: n1, n2, num_start and num_step can be any of the integer number.


Note 2: All rules about ${FILENAME} also apply to ${BASE} and ${EXT}


Note 3: All rules about ##...# also apply to @@...@



Combined Rules:


All of above rules(except for the <expression> rule) can be combined like ###_${BASE}.${EXT}






1) with rule "###_${BASE}.new", following input file,












will generate a list of following output files:





2) with rule "###{1,2}_${BASE}{1,-2}.new", following input file,












will generate a list of following output files:





3) with rule "###_${BASE}{replace,'file','document'}.new", following input file,












will generate a list of following output files:





4) rule ###_${FILENAME}{file_time,'%Y-%m-%d'}


will change file name to format like 001_(last modify time of file)


5) rule ${FILENAME}{html_title}{1,10}


will change file name to the first 10 character of html file title.


6) rule ${FILENAME}{uc} will change filename to upper case


7) rule ${FILENAME}{lc} will change filename to lower case


8) rule ${FILENAME}{ucfirst} will capitalize the filename



More file rename rules and examples are available at:



5. Change output directory for all files



By checking "Change output file directory" option, and enter a new directory at right, user can change all files' output directory all together.


User can also set "Default download directory" at right, if no output directory is set for files with http type, files will be downloaded in this directory.