Again, add it to the feedback forum to see if anybody else wants the same thing.
I would vote right now, if I find my way to it!
I have quite a hand full of batch files now, and all of them use unique names, and it is distracting to see the whole path for me. I'm like "whoa, what? What am I running? C:\User\... oh, I'm running my batch file, correct!"
But that is why everybody else wants the path to be included -- it's a feature, not a bug. People want to know what they're executing; if you don't care, there's no reason to use command completion.
You want to remove functionality that other users rely on, for the sake of a personal aesthetic preference (and apparently a desire to be surprised by what the command processor decides to execute). That will never be the default behavior -- but if you get enough users to vote on your preference, I will consider adding it as an option.
I have personally no problem of what
others wants, and would never in the world would like to make TCC more difficult for others just to make it more to my liking, but if I specify how such feature would work, or would be used, would it be considered to
include at least an option for it?
Because perhaps a reasonable command completion would be / could be (or what I would expect, and perhaps the original poster would expect to my understanging), for example, "pin<tab>" expands to "ping" or rather "ping.exe", and when one starts the command this way, the
first executable file is executed, that can be found, first in the current directory (or perhaps that also controlled by an option), then the first directory listed in the PATH environment variable, that have such executable file. So if PATH is "[...];C:\ExternalPingProgram\;[...]" and "ExternalPingProgram" folder is the first folder in the list, that holds a Ping.exe, then
that is what will be run. If there was no "ping.*" executable file in the current path or on the PATH list, then it wouldn't expand to "ping.exe", rather the next match, like "pingus.exe" as it currently does so of course. On the other hand, if when TCC executing a command TCC does not decides which command to run, then the whole thing can be specified by the behavior of the system.
I only find this a surprising behavior if one is not aware of what the PATH environment variable holds, and sometimes I do not know it either, but, considering, that ideally it is never queried in such way, I quite often check it's content with:
Code:
for /t";" %i in (%path%) echo %i
On the other hand, if a user want to know
which command will be executed by typing in something, wouldn't one use, or could use the WHICH internal command? Still don't want to remove an old feature, especially if it was demanded, but command completion without paths, with conjunction of the WHICH command seems a rather sensible setup to me.
AND perhaps there could be a hybrid mode, where it first expands to first, simply to "ping.exe" and/or "pingus.exe", then starts to cycle through the executable files with full path name. (The order of what it expands to could be what is more reasonable to do -- ATM I don't have any preference on that, just dropped in this idea that popped in to my head as I was writing.)
PS.: It is more than clear, that debating on whether it is a meaningful feature does not necessarily make a change in the product, but then again I do not know where can I vote for this feature, and in the mean time, I thought I share my thoughts of it as well. Or perhaps this feedback forum is not here, within these forums, but rather is the
http://jpsoft.uservoice.com/forums/94009-take-command site? Is this the main page? I might as well browse that site, to find if there is already a suggestion there.