The best tool to undertake the task at hand is the simpliest one that handles it
Help and donations
Below, you find the (real-size) screenshots corresponding to all the steps that may be necessary to undertake in order to fully use this program.
Small size images
Medium size images
Real size images
You reach here when the program starts; here, you see the current configs. If those are ok, click start to proceed; otherwise, click either the configure button or the resume of one of the steps so that you can change them.
Notice that if you have paused a batch job, then when you start the program once more you do not start the program at this step but at the results one; in all the other cases you start here.
By scrolling the window, you can see all the current configurations, becoming easier to verify if any of them has to be changed.
If that is the case, you can either click the configure button to start configuring from the first one or click the resume of the configuration to be changed to directly travel to the corresponding step.
At this step you can also click the donate button to donate (via paypal) some money to me. By doing it, the program will request the default browser to open a paypal page where you can see the target of the donation (me) and the amount to donate (which you have selected on the program, before clicking the donate button).
When you are satisfied with the current configurations, then you can click the start button to initiate the batch job (and be driven to the processing step).
When a batch job is initiated, the configuration used for it is saved, so that the next time you execute the program it is the one that is pre-configured.
Configuration step 1:
Here, you choose the type of files (.com, .cpl, .dll, .exe, .ocx, .scr, .sys, or .vbx) the program searches for and, then, you click either done (to end configs) or next (to continue them).
Here, you can choose what type of files the program searches for.
Configuration step 2:
Here, you choose the source folder for the search and whether or not the search must include all the descendant folders of the given one and, then, you click either done (to end configs) or either previous or next (to continue them).
Here, you can choose the type of folders you want to use: custom folders or default ones.
Default folders are folders automatically created by the program in order to facilitate its use: there is one, named source, where the program searches for the input files and one, named target, where the program saves the created ones.
Custom folders are folders managed by the user of the program; whenever one of these folders is not found, the program automatically switches to the use of the correspondent default one.
In addition, here, you also select whether or not the search is to be restricted to the contents directly inside the source folder.
Notice that guiding the program to search for the files inside the given source folder and all its descendant ones is practical, but it comes with a cost: it takes a bit more time for the search to reach the end. Nonetheless, it is the setting that I usually use.
Configuration step 3:
Here, you choose whether or not the source files are to be deleted if they are correctly used by the program and, then, you click either done (to end configs) or either previous or next (to continue them).
When I created this option I imagined the following two cases: 1) the source files are important and will be used later on and 2) the source files are not important and will not be needed later on.
Taking this into account, I always forbid the deletion of the source files when those are important and I always allow their deletion otherwise.
Configuration step 4:
Here, you choose whether or not the executable file to update must be changed in order that its code is allowed to use all the available memory provided to it and, then, you click either done (to end configs) or either previous or next (to continue them).
Notice that what this program does to the executable file to update is changing a flag (hereinafter denominated by switch LAA) that informs the Operating System whether or not the corresponding executable file has code that can handle large memory addresses (addresses of memory above 2GB).
The veracity of this claim, however, is only known to the developer of the code.
In this way, if you are not its developer, then you should only enable the LAA switch if you are willing to test the executable when it is executed in the new environment, which is associated with the changed flag.
As this program can disable the LAA switch, you can always change it back, if you verify that after enabling it the updated programs start working with unreliable behaviour.
If the changed programs do not show unrealiable behaviour and they can take profit from the extra memory made available to them, then you will reap the benefits of the update, because those programs will be more capable of undertaking tasks that require the use of huge amounts of memory.
Notice that, even if this program allows one to enable the switch that unleashes extra memory on several kinds of executables, if you are not sure what you are doing, then you should restrict the changes to user-land code that you have installed on top of the operating system; specifically, in this case, you should restrict your updates to code (usually) associated with either of the extensions .dll or .exe and that can be found on the 'Program Files' folder.
Notice that even if you can change executable files (PE-files) targetting Windows with this program, you cannot be sure if the change will have any effect without testing it.
This is so, because if the OS has not been configured to recognize this switch, then it will be just ignored.
On 64-bit versions of Windows this switch (appears) to be always recognized; on 32-bit versions of Windows, however, this switch may not be recognized by default or may not even be recognized at all.
Notice that starting with, at least, Windows XP you can change the boot process by enabling a switch named 3GB, which makes the OS LargeAddressAware, and, as so, forces it to take the switch LAA into account for all the executables on the system for which it is enabled.
This, however, is a big step, because, after the switch 3GB is enabled, all the executable files in your system that have the switch LAA turned on can now be given the extra memory available to them and, as so, you may be unleashing a nightmare, because any of them can have bugs associated with this switch...
What this means is that instead of testing if the program you are interested can work in a LargeAddressAware environment, you will have to test if all the programs installed in your computer that have the switch LAA enabled can handle large addresses of memory.
In conclusion, if you are using either a 64-bits OS or a 32-bits OS that already has the LargeAddressAware flag set, then the risk you take when you turn the switch LAA on on the executables you are interested in is very small; if, by the contrary, you have to enable the 3GB switch on the boot process, then your risk gets much higher.
Notice that this program saves the modified executables to a folder other than the original one, so that you are obliged to copy them to the original folder and, by doing this, you are the one that commands the overwrite of the original files.
Configuration step 5:
Here, you choose the way the output files are named and, then, you click either done (to end configs) or either previous or next (to continue them).
The purpose of having several naming algorithms is allowing the user to choose the one that better fits its case, when considering the way he wants to deal with naming clashes, whether these happen because the target folder is not empty at the time the job starts or because the search included the subfolders of the given one, the paths of the files to be created are to be flattened, and there are at least two files with the same name on the source tree of folders.
The program, for now, supports naming the output files in the following three different ways: 1) the original name of the corresponding source file is used unchanged; 2) the original name of the corresponding source file is used unchanged, unless there is a name clash, in which case a numeric suffix is added to the original file name; and 3) the output files are named with the index corresponding to the order in which they are processed.
If you choose the algorithm 1) above, then you might find name clashes if either (or both) the target folder is not empty when the job starts or the source tree of folders contains at least two files with the same name and the folder path of the source folders is to be flattened; if you choose the algorithm 3) above, then you will only have problems with name clashes if the target folder is not empty at the time the job starts; and if you choose the algorithm 2) above you will be free of problems with name clashes, as this algorithm adapts the name of the file to create till a colision is not found.
In this way, the algorithm 2) referred above is the default choice.
Configuration step 6:
Here, you choose whether or not the program is allowed to overwrite the files in the target folder (if the need arises) and, then, you click either done (to end configs) or either previous or next (to continue them).
The settings corresponding to this step are associated with the ones corresponding with the way the files to output are named. Specifically, the need to overwrite files on the target folder only arises if you have not choosen to add a suffix to the unchanged name of the corresponding source file, in case a name clash ocours.
In other words, a file can only be overwritten in the target folder if the process in which the name of the output files is choosen does not adapt the name of the file to be created when a name clash is found.
Configuration step 7:
Here, you choose the target folder and, in case the search included descendant folders, if the path to the latter ones is to be flattened and, then, you click either done (to end configs) or either previous or next (to continue them).
At this step, you must remember two things: 1) you can only change the target folder if, at step 2, you have not defined that the default folders must be used; and 2) the need to flatten the paths on the target folder (corresponding to the original source folder tree) only arises if you have chosen to include the contents of descendant folders in the search (otherwise, the folder tree is already flattened, as it has only one level).
Configuration step 8:
Here, you are asked to accept that the author of the program cannot be considered liable for any problem that may arise due to the execution of the program and, then, you click either done (to end configs) or previous (to continue them).
Notice that this program is in constant development and, as so, in spite of the best efforts of his author, there are, for sure, unspoted bugs, as in any other complex program.
In this way, in order for you to be capable of using this program, you must accept this risk.
Here, unless you want to waste the (probably less than) 60 seconds you invested in configuring the program, you have nothing to do - just wait for the job to conclude. Otherwise, click pause or stop. You can also donate...
Notice that, when the processing job starts, during the first moments, it is possible that nothing appears on the grid view, even if all the configurations are ok and there are files to be found on the given path. This is so, because there may be so many files to search for that the program is trying to cope with all of them.
Nonetheless, in order for you to be sure that everything is ok, just pass the mouse cursor over the grid view and if you see a wait cursor there, then just have a bit of patience with the program, because it is working hard, trying to undertake the job given to it. If you do not see this cursor there, then, probably, the configs are wrong and the program did not find any file in accordance with your requirements.
If the job has started as required, then, at this step, you can see the results of the undergoing job process by giving a look at the info displayed by the grid view.
There is at least one interesting info there, in the status column:
1) the sign with a blue color means that the file corresponding to it has not yet been processed;
2) the sign with a gray color (only appears if you are continuing a paused job) means that the file corresponding to it has been already processed but at an earlier point in time;
3) the circle with a green color means that the file corresponding to it has been processed with success;
4) the dot with a green color means that the file corresponding to it has been avaliated with success but no need has been found to further process it; and
5) the sign with a red color means that there was some error while processing the file corresponding to it.
If you are here, then you have tried to either stop or pause the undergoing job. At this step, there is nothing you can do, except for waiting and, possibly, donating...
This step is necessary in order to be assured that the processing of the target files does not get corrupted.
This is so because, at this step, the program does not know if you still want to continue the job at hand at a later time and, as so, it must assume that that is the case.
Thus, it must keep the processing of the files that were already being processed, so that no corrupt files are left behind.
Here, you see the results of processing the batch job till the point where it was before reaching here (remember that it either ended or was paused). Now, you can either reconfig it or re-start/continue it, depending on whether or not the job reached the end.
If you reached here and everything worked in accordance with your requirements, then, now, you can start viewing the result of your (probably less than) 60 seconds really heavy time investment and hard work configuring the batch job! :-)
Tip/Donate (with paypal):
© Copyright 2018 by
Filipe Rosado da Fonseca
- All Rights Reserved.