Batch Hex Editor
Replace, insert, delete, and otherwise edit bytes in multiple files
How it Works
Choose Processing Mode and Select Files
Batch Hex Editor can process files in 3 distinct modes:
- Manual Mode - files are selected for processing, which is then started manually by clicking on the Start button
- Automatic / Background Mode - "monitors" are setup that scan specified folders for either existing, new, or modified files matching criteria, which are then automatically processed once the program starts "monitoring"
- Scheduled / Triggered Mode - processing is performed by processing jobs that can run on schedule or be started on specified events
In Manual mode files for processing can be selected and added to the processing list in multiple ways:
- One by one or in groups
- All from a given directory
- Recursive searching for files with names matching a pattern
- Drag & drop from Windows Explorer
- Paste from clipboard, paste paths
- Import from text-based file containing paths
- Right-clicking on selected files or folder in Windows Explorer
Specify Actions to Perform
You specify which actions and operations should be performed during processing using Action Sequence.
Specify which actions should be performed and in what order by simply drag & dropping them.
Then you can adjust various options and settings for each action to specify all the details pertaining to the operations you want the action to do.
- Perform certain actions only when specific requirements are met using conditions
- Save action sequence for future use as a template
- The hierarchical structure is clearly displayed if conditions are used
- Get instant feedback about any errors
- Actions are color-coded to help you distinguish different types of actions
Note: the actions that are available will depend on the product that you are using.
Step 3 - Select Output Format, Process, and Save
In the last step you choose the destination directory where processed files will be saved; file naming pattern; and some other processing options.
- Use both relative and absolute paths when specifying output location.
- Specify very detailed file naming pattern: use file attributes, random characters, hashes, EXIF meta-data, and more!
- Adjust file dates and attributes
- Set backup and other options
When you have configured all the output options, the program can begin processing files. As it processes files, file list will be automatically updated reflecting detailed progress. Processing can be stopped any time.
At the end the program will display a detailed summary; a processing log will also be available so you can examine any warnings or errors if they occurred.
Top Features
- 4 Processing Modes Manual, Automatic / Continuous, Triggered / Scheduled, Command Line.
- Conditional Processing lets you perform different operations with different files.
- Advanced File Naming and Renaming: use file properties, random characters, EXIF tags, perform search and replace.
- Advanced File Search: advanced wildcards, file properties, regular expressions, search in file contents.
- Complete Unicode Support throughout the program.
- Extensive support for Regular Expressions (RegEx) throughout the program.
- Can be integrated with Windows Shell.
- Very detailed processing logging capabilities.
- Fast multi-threaded processing that can utilize all available cores/CPUs.
- Run multiple program instances simultaneously.
Search & Replace
Binary Replace / Replace Bytes
Replaces specified occurrences of a specified byte sequence or pattern in a file with another byte pattern.
- Built-in hex editor to allow for easy byte entry
- Supports wildcard byte matching, where specified byte will stand for any byte
- Include original match in the replacement byte sequence
- Use original bytes at specified positions in the replacement byte sequence
- Specify which matches should be affected and included: N matches/all matches (from start/end) or (following first/last M matches)
- Restrict search range by specifying the byte range, like "search only within first 50 000 bytes"
- Built-in converter tool to convert between decimal, hexadecimal and binary numbers or byte representations
Hex-Editing & Binary Operations on Bytes and Bits
Insert Bytes
Insert supplied byte sequence at the specified position(s) in a file specified number of times.
- Specify the exact position where block of bytes should be inserted
- Insert block repeatedly every specified number of bytes within a defined byte range (i.e. insert every 5 bytes from offset 20 to offset 120)
- Specify how many insertions to perform
- Option to force insert even if insertion position is outside the range of file
Delete / Remove Bytes
Remove a specified block of bytes from a file. This operation reduces file size!
With this action you can perform operations like: remove first 20 bytes from a file.
- Precisely specify which block of bytes should be removed: specify its starting offset (position) and length
- Delete once (byte block is deleted at the specified offset)
- Delete multiple times (N bytes are deleted starting at specified offset, then M bytes are skipped, then N bytes are deleted, then M bytes are skipped,... until the specified ending offset)
To remove specific byte blocks (those matched by a pattern), use Binary Replace action and set the Replacement field to be empty.
Copy Bytes
Copy specified block of bytes to a specified position within the same file. This operation increases file size! For example, you can copy first 200 bytes in a file to the end of the file.
- Specify exactly which block of bytes should be copied (i.e. 333 bytes starting at offset 251).
- Control the number of copies
- Overwrite control that will determine if the copy operation will overwrite existing bytes, or if the bytes will be inserted instead
- Destination position can be absolute (i.e. copy to Nth offset relative to start/end of file)
- Destination position can be relative (i.e. copy N bytes up/down relative to the byte block)
- Various options if the destination position is out of range: cancel operation, copy up to available position, copy to correct position inserting empty space as needed
- What to do if the block of bytes to be copied is out of range: cancel operation, copy the available bytes
Move Bytes
Move specified block of bytes from one position to another within the same file. Depending on options, this operation may increase file size! For example, you can move file's last 10 bytes to the beginning of the file.
- Specify exactly which block of bytes should be moved (i.e. 333 bytes starting at offset 251).
- Move the bytes more than once (control number of copies to make at the destination)
- Overwrite control that will determine if the move operation will overwrite existing bytes, or if the bytes will be inserted instead
- Destination position can be absolute (i.e. move to Nth offset relative to start/end of file)
- Destination position can be relative (i.e. move by N bytes up/down relative to the byte block)
- Various options if the destination position is out of range: cancel operation, move up to available position, move to correct position inserting empty space as needed
- What to do if the block of bytes to be moved is out of range: cancel operation, move the available bytes
Bitmask
Perform bitwise operations on all bits of a block of bytes (word) of a given size.
- Variable size of the block of bytes / word length: 1 to 16 bytes
- 7 operations can be performed: NOT, AND, OR, XOR, NAND, NOR, XNOR
- Specify bitmask with 0s and 1s (not applicable if operation is NOT)
- Control exactly which bytes will be affected by defining a byte range over which the operation will be performed
- Optionally control which individual bytes will be affected by supplying a byte pattern (operation will be performed on matching bytes only)
Encode, Decode, Convert
Binary / Decimal / Hexadecimal to Bytes Converter
A text to bin and bin to text converter (aka hex to bin and bin to hex) that converts a binary file (raw bytes) into byte representations encoded in either hexadecimal, decimal, octal, or binary form in a text file with specified formatting and vice versa.
- 4 byte formats supported: binary, octal, decimal, hexadecimal
- Convert both ways: bytes to bin/oct/dec/hex, and bin/oct/dec/hex to bytes
- Different formatting options: upper case, leading zeros
- Control output when converting from raw bytes: bytes per line, byte value separator, line prefix and suffix
- Convert to raw bytes using text file with fixed-length byte values (2 in case of hexadecimal, 3 in case of decimal, etc.)
- Convert to raw bytes using text file with possibly variable-length byte values that are separated with some separator
Miscellaneous Actions
Generate Hashes / Checksums
Generate (compute) hash / checksum (cyclic redundancy check or CRC) of the selected type for either the whole file or part of it and save it in either text or binary format.
- 8 algorithms are supported: MD5, SHA1, SHA2 (256 bit), SHA2 (384 bit), SHA2 (512 bit), RIPEMD-160, CRC16, CRC32
- Generate hash in binary format
- Generate hash in text format
- Control hash formatting in text mode: lower/upper case, hyphens
- Ability to insert hash in binary format (actual bytes) at the beginning of a file
- Ability to append file path when generating hashes in text format
- Compute hashes for either the whole file or just the specified bytes in range
Manual Processing Mode
In Manual Mode you explicitly select files for processing in a variety of ways. You can drag & drop files from Windows Explorer; paste them from clipboard; add all files from a given folder; add specific files by selecting them from a list; search for specific files that match given criteria; or paste file paths.
Additionally you can further refine the file list by unchecking the files you wish to temporarily exclude from processing.
When satisfied with file selection, you can then manually process the whole batch. Processing can be started as long as the file list contains at least one checked file.
Manual Processing Mode
In Manual Mode the program processes files only upon explicit initiation (when you add files, and click on the Start button).
Files can be added to the processing list in a variety of ways:
- Files can be selected individually
- All files from a particular folder can be added in one click
- Recursively scan directories and look for files that match given criteria
- Drag and drop from Windows Explorer / Folder / Desktop
- Import from a text-based list of file paths
- Paste from clipboard
- Open from previously saved file list
- Directly from Windows by selecting files in Windows Explorer, right-clicking, and launching the program that way (selected files will be automatically added)
Processing in Manual Mode
When files are processed in Manual Mode, a detailed progress is displayed right within the file list, letting you know which filea are being processed and what is the processing stage. A processing result will be displayed in the file list as well once the file has been processed. You can then click on that processing result to see a detailed processing log for the file.} else if (Model.ISBI) { - all through a visual pie chart.
In addition, you can easily filter the file list by processing result status. For example, you may remove all successfully processed files with just one click, leaving only those that had issues or were skipped.
- Add and remove files easily
- Save file list for future use and append existing lists
- Temporarily prevent processing of certain files by unchecking them
- Files are color-coded after processing, making it easy to spot problems
- File path is intelligently drawn whereby file name stands out from the whole path, the start and the end of the file path are always visible
- An icon is displayed next to every file making it easier to identify file type
- Detailed tips appear when you hover over files displaying file properties and even file's contents
- Processing result is displayed right within the file list with appropriate icon and a link to a detailed log
Automatic / Background / Continuous Processing Mode
In Automatic Mode, instead of selecting specific files for processing, you setup "monitors" that tell the program which files should be processed and when. The processing is performed automatically and continually when the specified conditions are met and the program is in the active monitoring mode.
A monitor works by performing periodic scans of the specified folder(s) for all the files that match given criteria and satisfy monitor's behavior type (see below). All matching files that were found by the monitor are then put into the processing queue. Periodicity of the scan/check can be controlled and can range anywhere from 1 minute to several hours or even days.
Depending on the monitor behavior type, file processing may be initiated under different conditions:
- File is Present - processing is performed on all files matching criteria located the monitored folder (same file may be processed multiple times unless destination and original file paths differ and the original files are deleted after processing).
- File was Modified - processing is performed on all files that have been modified since the last time the monitored folder was checked.
- New File was Added - processing is performed only on the new files that were added to the folder since the last time the folder was checked.
There is no limit to how many monitors you can setup — it only depends on the system resources that are available to you. The monitor setup can be easily saved to a template file for future use.
Once you have setup the monitors and actions, you can start monitoring and processing files. Unlike the Manual Mode, processing in the Automatic Mode can be paused, so you can edit both the monitors and actions in the Action Sequence, and then safely resume processing.
Automatic Mode is ideal for cases when your workflow involves continually working with small batches of files that are coming in periodically and require similar kind of processing.
3 Types of Monitors
The program supports 3 kinds of monitors: File Exists, File Added, and File Changed. Depending on the kind of monitor you setup, the processing will be triggered only when appropriate condition is met.
For example, if you set up a File Exists monitor, the program will always process all qualified files in the monitored folder as long as they are present; however if you set up a File Added monitor, the program will process only the new files that have been copied to or moved to the folder since the start of its monitoring.
How Monitors Work
The monitors work by continually scanning the specified folder (directory) and subfolders for specified files that match a predefined naming pattern (mask) as well as other properties. The scanning happens at equally spaced time intervals that you define (refresh rate).
Among the file properties that may be examined are: file size, file dates, file attributes. Thus Batch Hex Editor will enqueue for processing only those files that match all the requirements specified in the monitor.
Monitors List
After a monitor has been set up, it will appear in the list of monitors.
You can define as many monitors as you like subject to the system resources you have and the product edition that you are using. Additionally, monitors can be enabled and disabled with a single click.
You can also save and open monitor lists easily, so you can reuse your monitor setups later.
Processing in Automatic Mode
In automatic mode processing works in 2 stages. First, the monitor(s) scan the specified folder(s) for any valid files, and add them to the processing queue. Then the program automatically processes all the files in that queue. These 2 stages need not be consecutive, as the program begins processing as soon as the queue is non-empty.
Unlike in the Manual Mode, in the Automatic Mode you can pause processing, make the changes to the actions in the actions sequence and / or the monitors, and then resume.
Triggered / Scheduled Processing Mode
Triggered or Scheduled Processing Mode lets you define different processing jobs that can be executed on schedule or a particular trigger, such as: on every Monday at 2:00
; at Logon
; on a particular system event; etc.
The program does not need to be running for the processing job to be activated - it will be automatically started with the right command line parameters at the right time by Windows Task Scheduler Service (which needs to be enabled for this feature to work) and begin performing the tasks defined by the processing job.
Processing jobs are easily managed within the program, but should the need arise, you can also modify their properties in Windows Task Scheduler directly.
Batch Hex Editor can perform processing jobs in 3 different modes:
- Command Line Mode - only the console window will be displayed.
- GUI Mode - program is launched and performs processing displaying progress in regular Graphical User Interface.
- Invisible Mode - no user interface of any kind is shown, and the processing job is performed in the background.
All processing jobs can be different: for every job you can specify not only the trigger or schedule that will determine when it runs, but also the files to be processed, actions to be performed, output file name pattern and directory, and a host of other options.
Triggered / Scheduled Processing Mode
In Triggered or Scheduled Processing Mode, file processing is started upon a specified event (trigger) or at a specific time as per the specified schedule.
You can create as many triggered/scheduled processing jobs as you want - all with different schedules, files to process, actions to perform, and other settings.
Batch Hex Editor need not be running in order for the processing jobs to be activated, the program and processing is started automatically by Windows Task Scheduler Service.
Creating Processing Jobs
Creating a processing jobs is straight forward. You define some general settings such as job's name, mode of operation. Then you specify the job's schedule or trigger that will determine when the processing job is actually ran. Finally you specify the which files should be processed; how the files should be processed (which actions should be performed); and where the processed files should be saved.
Managing Processing Jobs
Once the processing job has been created, it appears in the list of processing jobs. This list reflects all the jobs that have been created and are registered with Windows Task Scheduler Service which is responsible for job's execution.
Jobs can be enabled and disabled with a single click by putting or removing the checkmark next to the job's name in the list.
Hierarchical Action Sequence with Conditional Processing
Action Sequence
With Action Sequence you can easily specify which actions to perform on the selected files, under what circumstances, and in which order.
- Drag & drop to add, copy, and move actions
- Easily duplicate (copy) actions with all their settings
- Toggle individual actions on and off
- View a summary of action's settings right in the list
- Perform certain actions only when specified requirements are satisfied using conditions
- See condition relationships visually in a tree
- Save action sequence to XML-based template file
- Open / append previously saved action sequence
- Save action sequence summary to text file
- Get instant feedback about any errors
- See selected action details in tooltips
- Actions are numbered and color-coded to help you identify their order and distinguish different types of actions
You tell the program how to process files by adding various actions to the Action Sequence, which represents a sequence of operations to be performed step by step. In the Action Sequence, actions can be easily rearranged, moved around, duplicated using simple drag and drop operations and / or keyboard commands.
Conditions and Processing Paths
Conditional processing is possible with conditions, which are simply special actions that make sure that the actions that follow them should only be performed if particular requirements are satisfied: file name and file size match specified parameters, or a file contains certain text, etc. This results in potentially different processing paths for different files.
Actions and conditions are visually presented in the action sequence using numbered hierarchical tree-like list and arrows, making it easy to design and see processing logic and understand various relationships between the actions and conditions.
There is no limit to how many actions or conditions can be added to the action sequence, nor are there any restrictions as to how the actions should be ordered. Do whatever you need to accomplish your goals!
XML Templates
The action sequence that you design, including all the actions, conditions, levels of hierarchy, and individual action's settings can be easily saved to a file as XML-based template that you can reuse later. Because templates are XML-based, you can actually use any text editor or specialized XML tools to edit these templates afterwards. In addition, template files can be used for processing using command line and in Triggered / Scheduled Mode.
Processing Flow Branching and Conditional Processing with Conditions
Conditional processing allows you to perform different actions and operations on different files. This is accomplished using Conditions in the actions sequence, which alter the processing flow, so that different files may be processed using different processing paths!
Any actions that follow a condition in the action sequence will be performed only if the check(s) defined by the condition have been passed by the file being processed. Any actions nested inside a condition whose check(s) have not been passed by the files will not be performed on those files.
If another condition is encountered later, it may add to the effects of previously defined condition(s), so that any subsequent actions will be performed, provided the file being processed passes the new condition's check(s) as well.
- 8 Built-in conditions that can check file properties and content
- Conditions can be nested, which is equivalent to grouping conditions together using AND logical operator
- Conditions can be grouped together using either AND, OR (inclusive OR), or XOR (exclusive OR) logical operators
- Both the individual condition's check result as well as the check result of the whole condition group can be negated (logical NOT), which is useful when you want to apply certain actions to all files except those matched by the condition(s)
- Nested conditions can have actions and/or layers between them to allow for complex hierarchical processing scenarios
- Condition relationships with each other as well as hierarchy of actions they control is clearly reflected in an action sequence with arrows and alignment, so you know which actions and layers are controlled by which condition(s)
File Information Condition
Check if the file being processed matches specified file properties such as name pattern, location, size, and attributes.
The following checks can be performed by this condition:
- File name and extension match a predefined pattern (either wildcards or RegEx)
- File's parent directory matches a predefined pattern (either wildcards or RegEx)
- File's full path matches a predefined pattern (RegEx only)
- File's size is within specified range: at least N bytes, at most N bytes, exactly N bytes, between N and M bytes, not equal to N bytes
- File's creation, change, and access dates are within specified range
- File's attributes match supplied values
Content Size Condition
Check if the size of the file's contents match the specified value or range.
If it is a binary file, this is equivalent to checking file size. If the file contains text in certain encoding, you can check how many lines and/or characters a file contains, which is most often not the same as checking the size of the file in bytes (only if file is in ASCII the number of characters will equal the size of the file in bytes).
- Select how the size of file's content is calculated: by bytes (kilobytes, megabytes, gigabytes), by characters, or by lines
- Check that file's content size is within specified range: at least N bytes/chars/lines, at most N bytes/chars/lines, exactly N bytes/chars/lines, between N and M bytes/chars/lines, not equal to N bytes/chars/lines
Binary / Byte Content Condition
Check if the file contains or does not contain specified byte pattern.
- 6 types of checks: contains, does not contain, start with, does not start with, ends with, does not end with
- Flexible contains check: contains at least N times, contains at most N times, contains exactly N times, contains between N and M times, contains but not N times.
- Built-in hex editor to allow for easy byte entry
- Supports wildcard byte matching, where specified byte will stand for any byte
- Restrict search range by specifying the byte range, like "search only within first 50 000 bytes"
- Built-in converter tool to convert between decimal, hexadecimal and binary numbers or byte representations
Condition Behavior Settings
Every condition has these common behavior settings that determine how it interacts with other conditions and thus how it affects file processing flow.
- Condition may allow further processing either if the requirements / check specified by it are met or not met (i.e. if the result of checking the file against a constraint is either True or False).
- Condition group behavior determines whether the conditions add to each other (i.e. each condition in a group adds additional requirements — equivalent to logical AND, or if the processing should continue as long as at least one condition in a group will pass — equivalent to logical OR.
- In addition it is possible to compare conditions inside a group using logical XOR operator, and negate the entire condition check.
- Negation of a condition or a condition group result may be very useful, because some times it is easier to define the checks for the True case and not for the negated case.
Saving Processed Files and Output Options
When it comes to saving the processed files, the program offers a great variety of options: it gives you full control over destination folder, file name pattern, file attributes, and output modes.
Output Folder Options
You have total control over where the processed files should be saved. Output folder (directory) can be:
- Original folder - processed file will be saved to the same folder where original file was read
- Existing folder - existing folder specified using absolute path
- Folder specified with Relative path - you can use relative paths to specify output directory: i.e.
..\Folder
orFolder
orFolder1\Folder2
.
If a destination folder does not exist, it will be automatically created during processing.
Set File Attributes and Dates
As part of the processing you have the ability to set (if saving as new files) or modify/update (if original files should be altered) file's attributes and dates (creation, modification, and even access).
Running Third-Party Programs as Post-Processing Step
You can specify to run a third-party program after processing each file, or after processing all files, providing output file path(s) as the argument. This is useful if you want to do additional processing on the files that at present cannot be achieved with this program.
Other Options
You can specify additional things that include: backup policy, whether original files should be deleted, should processing stop on errors, etc.
Processed Files Naming Options
Rename Files
You can give processed files any name you desire with the powerful built-in file name designer tool. It features simple drag & drop user interface that lets you select various tokens from a list of almost 100 and use these tokens as part of the generated file name.
The tokens may represent either dynamically generated content that can be included as part of the file name, or a command that somehow modifies the part of the filename that has already been generated (like changing letter case, or performing replacement operation).
Use Tags to Generate Dynamic File Names
There are close to 100 different tokens that can be used to generate dynamic file names that meet your requirements. Simply include the token in the appropriate place in the file name pattern to have dynamically generated content inserted in the right place (if the token generates content), or to affect the generated filename in other ways (if the token represents a command or operation).
The following tokens are available:
- File creation and modification dates, file size
- EXIF, ID3, and other mete-tags
- Current date and time
- Random numbers and letters
- File hashes: MD5, SHA1, SHA2, CRC…
- Original file name, extension, folder name
- Search & Replace operation letting you replace text within file name
- RegEx Replace - replace within file names using Regular Expressions
- Letter case modification commands (make upper case, lower case)
When it comes to saving processed files, the program really shines, as it comes with built-in professional file renamer tool that lets you easily design file naming pattern simply by drag-dropping different name parts (tags) onto the text area. And there are many tags to choose from: various hashes and checksums like MD5, SHA, SHA2, CRC16, CRC32, etc; file size; parts of original name/folder; creation and modification dates and their parts; random characters; EXIF and ID3 met tags; etc. You can even perform search and replace operations on the file name patterns you design!
Moreover the program can act solely as bulk file name renamer utility: you do not have to add any actions to the action sequence, and choose to only rename files instead!
Select Files for Processing with Deep File Search
Recursive File Search
One of the ways you can add files to the file list for processing is by doing a search for all files that match criteria you specify. The program will scan selected directories and subdirectories for any valid files and automatically add them to the list.
- Recursive scanning with customizable depth
- Specify files to include and exclude using highly customizable patterns and masks - much more powerful than your basic wildcards but easier to use than Regular Expressions!
- Specify directories to exclude from search
- Use Regular Expressions to specify file name patterns
- Use case sensitive matching
Note that you can save your customized file searches as templates for future use.
Search for Files Based on Properties
You can find files you need for processing based on file properties like size or creation date, and attributes. This is in addition to basic search by name!
What's more is that you can fine tune these and select the exact ranges for all properties, like setting the size to be between 1MB
and 5MB
for example. With dates, too, you can be as specific as you want: you may, for example, look for files created on any day in May 2020
, or on May 10 2020
specifically.
Search in Files for Text Content
You can search for and add files for processing using not just their names and properties, but actual contents as well. Perhaps you need to process only files that start with a particular text; or only those files that contain a particular phrase specified number of times. The program is very flexible!
Search for files based on text content using these conditions:
- Contains at least N times
- Contains at most N times
- Contains exactly N times
- Contains between N and M times
- Does not Contain N times
- Does not Contain
- Starts with / Does Not Start with
- Ends with / Does Not End with
Ignore case option and wildcards are fully supported for more advanced searches!
Search in Files for Bytes & Binary Content
You can search for and add files for processing using their binary content. Perhaps you need to process only files that start with a particular sequence of bytes; or only those files that contain a particular byte sequence no more than specified number of times. The program is very flexible!
Search for files based on binary content using these conditions:
- Contains at least N times
- Contains at most N times
- Contains exactly N times
- Contains between N and M times
- Does not Contain N times
- Does not Contain
- Starts with / Does Not Start with
- Ends with / Does Not End with
Wildcards are fully supported for more advanced searches!
In all of the processing modes, files for processing can be selected using recursive (deep) file search, where the program automatically scans specified directories for files matching desired criteria, such as: file name pattern, extension, size, dates, content etc. This has several advantages:
- Program automatically searches for desired files - no need to pick files manually
- Not just file name and attributes, but also their content in both text and binary form can be examined
- Complex searches can be saved and reused later
For finding files with file names matching a specific pattern, you can either use extended wildcards with support for positive and negative matches, sub-masks, character ranges, grouping and alternation patterns; or use even more powerful Regular Expressions.
Advanced Wildcards
You can easily add files for processing matching a specific file name pattern and having certain extension(s) with advanced wildcards! Of course, you could use regular Operating System file search, but it is very weak and supports only basic wildcards. On the other hand, Regular Expressions may be too complicated for a trivial task like selecting files matching a give name pattern.
Advanced wildcards, one of Batch Hex Editor's many unique features, is what you would want to use!
Regular OS Wildcards | Advanced Wildcards | Regular Expressions |
---|---|---|
Files beginning with lowercase letters a through m and having jpg , bmp , or png extensions: | ||
a*.jpg;a*.bmp;a*.png;b*.jpg; … |
<a-m>*.(jpg|bmp|png) |
[a-m].*\.(jpg|bmp|png) |
Files beginning with file which is not followed by an underscore character _ : | ||
- | file(!_)*.* |
file(?!_).*\..* |
Files beginning with start and not containing skip between start and end : | ||
- | start*(!skip)*end*.* |
start(?(.*(skip))|.*)end.*\..* |
Files not beginning with page , whose name part ends with a digit, and not having either bmp or jpg extensions: | ||
- | (!page)*#.*(!bmp|jpg) |
(?<!page).*\d\..*(?!(bmp|jpg)) |
Triggered / Scheduled Processing Jobs
It is possible to create scheduled or triggered processing jobs that will be automatically performed even if the program is not running. And there is no limit to how many such jobs can be created!
For every job you can specify the files to be processed, actions to be performed, output settings, and other processing options.
When the processing job is triggered, depending on the job's setting the program will be automatically launched in either GUI, console, or hidden mode, and the processing will be automatically started. When done, the program will exit automatically.
There are numerous triggers available: daily, weekly, monthly, event-based, etc.
Setup a Processing Job - General Properties
Processing jobs allow you to setup various batch file processing tasks that will be executed on a specified trigger or on schedule.
General properties include: name of the job, general timeframe when the job can be active, operation mode that determines if any UI will be shown, and user account together with security context under which the job will be executed.
Setup a Processing Job - Select Files
There are several ways in which you can specify which files should be processed by a processing job:
- Specified directories will be scanned for files matching a given name pattern
- Specified file search template will be used (see Recursive File Search)
- Specified list of files containing files' full paths will be used.
Setup a Processing Job - Specify Actions
Once you have specified which files should be processed by a processing job, the next step is to specify how these files should be processed, which actions and operations should be performed. This is done by specifying a previously saved Action Sequence.
Additionally you can customize a few other processing aspects like the number of processing threads and logging options.
Setup a Processing Job - Output Settings
Output settings determine where and how the processed files are saved. All the options that are available in Step 3 in Manual and Automatic processing modes can be customized here as well. These include:
- File naming pattern and destination / output folder
- Output mode: normal, join, split, or zip
- Ability to define a third-party tool to execute after processing has finished
- Backup- and file saving- related options
Setup a Processing Job - Triggers - Monthly
Last step in setting up a processing job is to define a trigger or specify a schedule that will determine when the processing job will actually execute.
Monthly trigger lets you specify that a job should be executed on a monthly basis. You can select specific days of the month or weeks when the job should be run, as well as specify which months should be included and which ones should be excluded.
Setup a Processing Job - Triggers - Weekly
Last step in setting up a processing job is to define a trigger or specify a schedule that will determine when the processing job will actually execute.
Weekly trigger lets you specify that a job should be executed on a weekly basis. You can select specific days of the week when the job should be run.
Setup a Processing Job - Triggers - Daily
Last step in setting up a processing job is to define a trigger or specify a schedule that will determine when the processing job will actually execute.
Daily trigger lets you specify that a job should be executed on a daily basis. You can specify the daily recurrence pattern as well.
Setup a Processing Job - Triggers - Event
Last step in setting up a processing job is to define a trigger or specify a schedule that will determine when the processing job will actually execute.
Event-based triggers lets you specify that a job should be executed when a particular application or system event occurs. This feature is available only on Windows Vista or higher. Any events that you see in the Windows Event Viewer are supported, and a processing job will be automatically started by Windows Task Scheduler Service when the associated event occurs.
Setup a Processing Job - Command Line Preview
A processing job is automatically executed by the means of Windows Task Scheduler Service launching the program on appropriate trigger / schedule and with job-specific command line arguments.
The Command Line Preview tab shows you the exact command line that will be run in order to start the processing job. That way you can launch the program manually with appropriate parameters and have the same processing job be manually started.
Common Tasks
The program gives you full control when designing the sequence of actions; yet at the same time if you are just starting or want to perform some basic task quickly, the program offers numerous common tasks organized into categories that you can simply click on and see the needed actions be automatically added to the action sequence for you, so you can get started in no time!
Note that with the built-in actions and operations you can do much more than what you can do with common tasks described above! Common tasks by no means represent all of product's functionality, but rather facilitate product's use when it comes to dealing with frequently occurring tasks.
Common Tasks - Working with Lines
One of the most frequent tasks when processing text-based files is working with lines in one way or another. The program offers multiple common operations relating to lines:
- Sort and shuffle lines
- Delete specific lines, remove blank / empty lines
- Insert new lines
- Append or insert text, prefix lines
- Remove text from the ends of lines
- Trim and format lines
- Move and copy lines
Common Tasks - Copy Content
There are several built-in common tasks for copying or moving parts of the file to another position. You can duplicate lines; you can copy lines from the start or end of the file to another position, or relative to their current location; you can copy blocks of bytes to another position; and more!
Common Tasks - Convert & Encode
Program also offers various encoding and conversion -related common tasks that help you change text file encoding, convert text to binary and vice versa, convert HTML to plain text, etc.
- Convert files between different encodings and code pages: UTF-8, UTF-7, UTF-16, ASCII, Cyrillic, etc.
- Convert files containing binary data in hex form to actual binary representation and vice versa
- Convert to and from Base-64 and Quoted-Printable encodings
- Convert HTML to plain text
- Convert Morse code to plain text and vice versa
Common Tasks - Working with Files
Not only can you modify file's contents with common tasks, but it's very easy to perform various file system -related operations as well:
- Find files using content-based recursive search
- Move and copy files
- Rename files
- Delete files
- Split and join files
- Encrypt and decrypt files
- Generate file hashes
- Modify file attributes
Full Command Line Support & Console Operation
Batch Hex Editor has full support for command line operation. It can not only be started from command line with specific options, but it can also run and operate entirely in console window.
A typical usage scenario would be to first specify a sequence of actions to be performed and then save that sequence to a template file. Then you can easily process files entirely from command line using a few switches: input directory and input file pattern, path to a saved action sequence template file, and output directory with file naming pattern.
Some benefits of command-line processing include:
- Ability to launch program and perform file processing on demand or by invoking it from third-party tools
- Perform processing a bit more efficiently without consuming a few extra resources needed to display and update Graphical User Interface
- Manually schedule the program to run with specific parameters using third-party scheduling programs or other automation software
- Execute batch processing tasks directly from Windows Power Shell
- Execution from a batch file with different parameters each time
- Simultaneous execution of several instances
- Faster startup and configuration as predefined command line snippets can be used, and in general typing is faster than manipulating UI elements
Highly Customizable with Options
The program can be easily customized to your preferences, thanks to the many options that it has. Various options include:
- Auto-load and auto-save options that control which items the program will automatically save upon exit
- Syntax highlighting, colorization, and interactive tooltips in textual fields
- Tooltips preferences that control how and when the tooltips will be displayed
- Font options that let you choose the default type and size of the monospace font the program uses in text fields
- Various other User Interface related settings including theme kind, color-coding, etc.
- Different processing options like the number of threads, queue size, maximum text file size for Regular Expressions, etc.
Integrated Help with Informative Tooltips
With Batch Hex Editor we have re-imagined the concept of in-place help for a software product with the goal for it to be readily-accessible, well integrated, useful, and detailed. No more clumsy external huge help files that would take hours to make sense of and relate to the program!
Instead, virtually all elements of the User Interface have very detailed, in some cases multi-paged, informative tooltips that not only explain what a particular button, checkbox, or option does, but also provide valuable insights and helpful tips letting you know how to take advantage of a particular feature.
Multi-paged tooltips can be easily viewed simply by scrolling with your mouse wheel. Certain contextual tooltips can also be moved around and pinned to stay on top of other windows. This may be invaluable if you need to keep certain information in the view while working on something else.
Very Detailed Tooltips
Batch Hex Editor features very detailed and helpful tooltips that are available for virtually all user interface elements. If the text is too long, it is broken up into several pages that you can easily scroll through with your mouse wheel. No need to view external documentation, the help is completely integrated with the product!
Movable Tooltips
Some tooltips can be moved around and pinned so they stay visible on top of other windows until closed. This is useful when a tooltip displays certain technical information that may be needed to configure certain settings, and should therefore remain visible even when the mouse is no longer hovering over its parent element!
File Tooltips
There are very detailed tooltips for files in the file list! Such tooltips display not only basic file information like file name, location, size, and attributes, but also show first few dozens of bytes that make up file content! These tooltips also inform you of what actions are possible with the file selected.
Action Tooltips
Action tooltips display detailed information about the actions in the action sequence. When you move your mouse over an action in an action sequence, a tooltip will be displayed, explaining what the action does, what are the current action options, and what things you can do with a given action.
Action tooltips can be pinned so they stay of top and not auto-close, so that as you make changes to action's options, these changes will be automatically reflected in the action options summary displayed on the pinned tooltip.
Smart Contextual Tooltips
Although optional and can be turned off, the program also offers contextual tooltips that will appear when you move your mouse over distinct parts of text in certain text fields that support syntax highlighting.
Such tooltips are featured for all text fields that accept Regular Expression patterns as input; fields that allow character escapes; and in the file name pattern designer.
This is very useful, as simply by hovering your mouse over different areas in the text fields, you will instantly know what a particular RegEx element or file name token does.
Optional Integration with Windows Explorer
Upon installation of the software, you have the option to install a Windows Shell extension that integrates a Batch Process context menu into Windows Explorer, making it super easy to simply right-click on a group of files or a folder and launch the program with the selected files and chosen operation already setup, so you can process the files right-away - directly from Windows!
Process Files from Windows Explorer
If you install optional Windows integration component, you will be able to launch Batch Hex Editor directly from Windows explorer by selecting the files or a folder containing files that you wish to process, right-clicking on the selection, and choosing Batch Process Files menu.
Program Starts in Compact Mode
When you launch program from Windows Explorer, it starts in a very compact mode with the files you selected in Windows Explorer already automatically added and ready for processing. This is done for your convenience so you can process file right away!
By default, if the program is started from Windows Explorer, it will automatically quit once the processing has been completed. However there is an option to change this behavior if you want.
Compact Mode UI
When the program is started in compact mode, it shows only the primary action you selected in the Windows Explorer's right-click context menu when you launched the program, and additionally crucial output settings that include file naming pattern and destination to save processed files.
If this is not enough for your needs and you need to make some changes and add more actions or files, or adjust other settings, you can always enter Full View by simply maximizing the window. There is also an option for the program to always start in Full View if you want.
Advanced Logging
When processing thousands of files using complex action sequences with multiple conditions and actions, certain things might go wrong occasionally; and that's where program's excellent troubleshooting abilities come in very handy.
Program's advanced logging capabilities make it super easy to diagnose problems and get rid of any processing warnings or errors. A very detailed log is automatically generated by the program for every processed file that contains details about which actions have been performed, when, with what options, and with what results. All this information is made available to you in a nicely formatted view once the processing has been completed.
The processing log can be manually saved to a file after processing and / or automatically generated as a text log file in the destination folder(s).
File Operations Helpers
File Operation Helpers make it easy to perform certain file-related tasks that do not directly correspond to the built-in actions. File Operation Helpers automatically setup the proper output settings depending on the operation you choose to perform.
File Operation Helpers are available for the following operations:
- Copy and Move files
- Rename files
- Delete files
- Set or Change file attributes
- Split files
- Join / Merge files
- Generate hashes of files' contents
- Encrypt / decrypt files
Note different file operation helpers are available depending on the product you are using.
Alternative User Interface Theme
Program also offers alternative User Interface skin for cases when Aero rendering is not available, or if you prefer glass-less look instead.
Other Features
Some other notable features that are not represented in the screenshots above:
- Virtually all actions allow you to customize the range of their operation, so that you can restrict a particular action to operate only on a specified part of the file (as if the file itself was smaller).
- Built-in base-converter tool that lets you convert numbers and byte sequences between binary, decimal, and hexadecimal forms.
- Multi-colored smart rendering of file paths in file lists that highlights most important parts of the file path, so that you can see file name, its parent directory as well as the drive - all at a glance.
- Program automatically remembers the values you enter into drop-down lists so that next time you need them, they can be selected from a drop-down! It also remembers the file paths you specify for files and folders, so that if you ever reopen the same Select Folder or Choose Files dialog again, it will automatically be opened where you left it last time.
Customization & Extensibility
Although by itself Batch Hex Editor is a professional product, it cannot possibly offer every feature you may want, or be used in all possible scenarios. This is not a problem however, because this product was built with extensibility in mind from the ground up.
The functionality offered by Batch Hex Editor can be extended in the following ways:
- Software Development Kit (SDK) will let you develop your own actions and conditions that can be directly used by the product just as built-in ones. All that is required is basic knowledge of either C#, F#, or VB.NET and Microsoft .NET Framework 3.5 / .NET Core 3.1 or higher.
- Actions Library will let you use all the various processing actions together with their UI in your own projects. Library is provided as a COM-Compatible .NET DLL that you can use in your own projects to leverage the functionality offered by the various processing actions.
- Custom Development - should you need it, we can customize the product for you so it specifically meets your needs. Batch Hex Editor provides a solid foundation for batch file processing upon which our experienced developers can quickly create a customized, professional solution that meets your needs.
Software Development Kit (SDK)
Note the SDK is available and can be used only with Batch Hex Editor's mother product - Batch Files, which is a superset of Batch Hex Editor's features. If you plan to extend product functionality with SDK, you must obtain Complete Edition of Batch Files.
You can easily extend functionality offered by Batch Hex Editor' built-in actions by designing your own using this SDK as a guide. Batch Hex Editor provides all the basic actions that perform general tasks, such as resize, crop, watermark, etc.; however you may have a need to process images in a specific way, and hence require custom actions.
With this SDK and basic VB.NET or C# programming skills you will be able to create your own custom actions that you can then use from within the program to effectively accomplish your goals. We recommend you use Microsoft's free Visual Studio Community to develop your extensions using this SDK, but of course if you have Visual Studio, SharpDevelop IDE, or any other IDE capable of producing .NET 3.5 libraries, you can use it as well.
Actions Library
Actions Library is provided as a COM-Compatible .NET DLL that you can use in your own projects to leverage the functionality offered by the product's various processing actions. Whereas with SDK you extend the product with the actions you create, with Actions Library you extend your own solution by utilizing the functionality of the product.
For example, if you want to use file processing capabilities offered by Batch Hex Editor, with the Actions Library you will be able to do just that.
Actions Library needs to be acquired separately from the main product. So, please contact us to get Actions Library. We will also be happy to answer any questions you may have regarding licensing, pricing, integration, and other issues.
Let Us Customize Batch Hex Editor for You!
If Batch Hex Editor is not exactly what you are looking for, we can customize it for you so it specifically meets your needs! It can be done at a low cost to you, as Batch Hex Editor provides a solid foundation upon which new features can be effectively added by our experienced developers to quickly create a customized, professional solution that meet your needs!
Keep in mind that contracting us to customize the product will be much cheaper and faster than hiring a programmer or doing the work with your own resources, as we have extensive experience in the area of custom development, and what's more - Batch Hex Editor is a solid foundation upon which all the extra functionality that you desire can be built. More than 10 000 man-hours and over 100 000 lines of code went into the creation of Batch Hex Editor, so recreating even part of its functionality from scratch would require lots of resources.
Do you need customization?
- The product does not exactly meet your needs?
- Some feature you would like to use is not in the product?
- Would you like to add another action or operation?
- Need more options and customizations?
- Want to integrate the product with your existing business logic?
Custom Development Benefits
- No programming skills are required - we do everything for you!
- Low-cost professional development by experienced team
- Fast development because it leverages existing product and infrastructure
- Professional User Interface and familiarity as new features are integrated into existing product
- Royalty-free, flexible licensing model
Look no further! Contact us to request a quote and start custom development!