The list ( https://portableapps.com/node/28593 ) is impressive.
"BAT file on start and exit for advanced users with platform env vars available"
Could I suggest to not restrict to BAT only?
It would be great to specify the full command (relative path to command and relative paths as arguments)
Not only
cmd /k something.bat
Something like:
"..\TccLe\App\tcc.exe" /D /@"..\TccLe\data\tcc.ini" /C "..\TccLe\data\PortableStart.btm"
It would be great I have some ideas how it would be helpful.
best regards
It'll be a bat so you can write multiple complicated commands to your heart's desire.
Sometimes, the impossible can become possible, if you're awesome!
But the BAT is executed by cmd.exe (or command.com).
TCC is a replacement of cmd.exe, so there is no need to call any(!) of external components (even cmd.exe).
Two commands are producing the same results:
%comspec% /c something.bat
..\TccLe\App\tcc.exe /c something.bat
So my suggestion is to allow parametrization of the caller: %comspec% by default, or something different if user can (and needs) to reconfigure it. It could be tcc.exe, or even unix-like shell (for example "busybox bash").
Calling the .BAT only can be simulated just now: using and cmd portable, and setting it as auto-started.
Or may be there is some misunderstanding: are you planning just start the .bat using %comspec%, and nothing more? There is no fun.
Even cmd.exe can set some interesting things in the environment. tcc.exe (contains 100+ new commands and provides next 100+ @functions), or bash as a subset of busybox (do you like bash shell scripts?) can provide some spectacular modifications of the environment.
Simple example: it would be possible to start Java JARs from the command line - simply adding PortableJava to the %PATH, and removing existing, local java paths from the PATH (so portable apps can be completely independent on local config, even from system point of view). Some apps require setting of JAVA_HOME variable. It would be possible. Does the user wish to modify %TEMP\%TMP variables? It would be possible.
So: as I understood, or as I would wish: execute %comspec% or something else, wait for BAT processing will finish, and then retrieve the environment modified by the BAT, and expose modified environment to all portable apps. As I remember - it is not trivial (there is somewhere copy of environment block), but it is not difficult.
Can I dream? It would be great, if would be wonderful, if the .bat we are talking about could set some kind of "aliases". What does it mean? You are planning the possibility of adding some external/local apps to the PortableApps menu. The .bat should provide the list of some more apps. Doesn't matter - ini, xml, json or whatever.
for example: "busybox bash" could provide the list (using INI file format for example):
sh[Ux Shells][PathTo\sh.icon]=PathTo\buybox sh
ash[Ux Shells][PathTo\ash.icon]=PathTo\busybox ash
bash=[Ux Shells][PathTo\bash.icon]=PathTo\busybox bash
and than we would get just another PortableApps menu group named "Ux Shells", containing sh, ash and bash.
Sorry for my English, it is not my native language.
Is interesting or is it worth your attention?
BusyBox is Open Source, TCC/LE is commercial, but free for business purposes.
Regards. Best regards.
It will be basic batch file processing so you can kick off specific things (say mount/unmount an encrypted volume, clean up files, etc). Nothing more. If you want a custom command line environment for use later, that would be a separate app. For example, Command Prompt Portable has options to do this and have custom bats run before you get a command prompt. That's not what these platform startup/shutdown bat files are for.
Sometimes, the impossible can become possible, if you're awesome!