Problem with aliases

May 20, 2008
603
0
Sammamish, WA
TCC 10.00.60 Windows XP [Version 5.1.2600]
TCC Build 60 Windows XP Build 2600 Service Pack 3

Empty tcmd.ini and tcstart.btm

When I make an alias that contains multiple commands and "the rest" of
the parameters and try to redirect the output, the redirected output
is just part of the alias.

How can I redirect everything that the alias outputs?

[D:\]alias foo `(echo all="%1$" %+ echo first="%1")`

[D:\]foo a b
all="a b"
first="a"

[D:\]foo a b > test.txt
all="a b > test.txt"
first="a"

[D:\]dir /k /m test.txt
TCC: (Sys) The system cannot find the file specified.
"D:\test.txt"

[D:\]foo > test.txt
all="> test.txt"
first=">"

[D:\]foo
all=""
first=""

--
Jim Cook
2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
Next year they're Sunday.
 

samintz

Scott Mintz
May 20, 2008
1,501
16
Solon, OH, USA
If you know ahead of time how many arguments you will have you could
append the magical %n$ to the end of the alias.

Otherwise, make the alias a script file instead. You probably won't
notice a speed difference.

-Scott

Jim Cook <> wrote on 03/17/2009 12:35:13 PM:


> TCC 10.00.60 Windows XP [Version 5.1.2600]
> TCC Build 60 Windows XP Build 2600 Service Pack 3
>
> Empty tcmd.ini and tcstart.btm
>
> When I make an alias that contains multiple commands and "the rest" of
> the parameters and try to redirect the output, the redirected output
> is just part of the alias.
>
> How can I redirect everything that the alias outputs?
>
> [D:\]alias foo `(echo all="%1$" %+ echo first="%1")`
>
> [D:\]foo a b
> all="a b"
> first="a"
>
> [D:\]foo a b > test.txt
> all="a b > test.txt"
> first="a"
>
> [D:\]dir /k /m test.txt
> TCC: (Sys) The system cannot find the file specified.
> "D:\test.txt"
>
> [D:\]foo > test.txt
> all="> test.txt"
> first=">"
>
> [D:\]foo
> all=""
> first=""
>
> --
> Jim Cook
> 2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
> Next year they're Sunday.
>
>
>
>
>
>
 
May 20, 2008
603
0
Sammamish, WA
On Tue, Mar 17, 2009 at 10:10 AM, samintz <> wrote:

> If you know ahead of time how many arguments you will have you could
> append the magical %n$ to the end of the alias.

I do not know how many arguments, hence the %n$ syntax is exactly my
problem when used as %2$ the way I need. My alias uses the first
argument for one thing, and anything else, if specified, as optional
arguments to another command.

I may have to convert to a .BTM file -- thanks for the suggestion.

--
Jim Cook
2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
Next year they're Sunday.
 
May 29, 2008
567
4
Groton, CT
TCC 10.00.60 Windows XP [Version 5.1.2600]
TCC Build 60 Windows XP Build 2600 Service Pack 3

Empty tcmd.ini and tcstart.btm

When I make an alias that contains multiple commands and "the rest" of
the parameters and try to redirect the output, the redirected output
is just part of the alias.

How can I redirect everything that the alias outputs?

[D:\]alias foo `(echo all="%1$" %+ echo first="%1")`

[D:\]foo a b
all="a b"
first="a"

[D:\]foo a b > test.txt
all="a b > test.txt"
first="a"

[D:\]dir /k /m test.txt
TCC: (Sys) The system cannot find the file specified.
"D:\test.txt"

[D:\]foo > test.txt
all="> test.txt"
first=">"

[D:\]foo
all=""
first=""


This looks strange to me, but I found that an extra pair of parentheses works:

> (foo a b) > test.txt

> type test.txt
all="a b"
first="a"

Also, it works the same way whether there are parentheses as part of the alias or not.
 
May 20, 2008
603
0
Sammamish, WA
On Tue, Mar 17, 2009 at 10:44 AM, dcantor <> wrote:

> This looks strange to me, but I found that an extra pair of parentheses works:
>
>> (foo a b) > test.txt

That's at least a reasonable work-around.

It really looks like a bug in the alias expansion, though. I don't
think that %1 (etc.) ever ought to match the redirection symbol or
filename.

--
Jim Cook
2009 Saturdays: 4/4, 6/6, 8/8, 10/10, 12/12 and 5/9, 9/5, 7/11, 11/7.
Next year they're Sunday.
 

samintz

Scott Mintz
May 20, 2008
1,501
16
Solon, OH, USA
Oh yeah... I remember doing that once...

It's a pain the butt to remember though, especially if you don't use it
often and/or your fingers type on auto-pilot like mine tend to do at
times.

-Scott


dcantor <> wrote on 03/17/2009 01:44:52 PM:


> ---Quote (Originally by Jim Cook)---
> TCC 10.00.60 Windows XP [Version 5.1.2600]
> TCC Build 60 Windows XP Build 2600 Service Pack 3
>
> Empty tcmd.ini and tcstart.btm
>
> When I make an alias that contains multiple commands and "the rest" of
> the parameters and try to redirect the output, the redirected output
> is just part of the alias.
>
> How can I redirect everything that the alias outputs?
>
> [D:\]alias foo `(echo all="%1$" %+ echo first="%1")`
>
> [D:\]foo a b
> all="a b"
> first="a"
>
> [D:\]foo a b > test.txt
> all="a b > test.txt"
> first="a"
>
> [D:\]dir /k /m test.txt
> TCC: (Sys) The system cannot find the file specified.
> "D:\test.txt"
>
> [D:\]foo > test.txt
> all="> test.txt"
> first=">"
>
> [D:\]foo
> all=""
> first=""
> ---End Quote---
>
> This looks strange to me, but I found that an extra pair of parentheses
works:

>
> > (foo a b) > test.txt
>
> > type test.txt
> all="a b"
> first="a"
>
> Also, it works the same way whether there are parentheses as part of
> the alias or not.
>
>
>
>
 
May 20, 2008
3,515
4
Elkridge, MD, USA
samintz wrote:
| Oh yeah... I remember doing that once...
|
| It's a pain the butt to remember though, especially if you don't use
| it often and/or your fingers type on auto-pilot like mine tend to do
| at
| times.

I often redirect the output of FOR and GLOBAL, thus I had learned long ago
that it works properly only if the whole command to be redirected is
parenthesized, e.g.:

( GLOBAL work-command ) > target

( FOR %xxx IN (*) DO command ) > target

which is documented in these commands' respective help topics. It is not a
surprise that some complicated aliases require the same approach.
--
Steve
 
Similar threads
Thread starter Title Forum Replies Date
cgunhouse Problem with CALL and Directory Aliases in V17 Support 9
Dick Johnson Weird Color Problem Support 8
fishman@panix.com Problem with 27.15 Support 2
M Problem with VSDevCmd.bat in VS 16.7.3 Support 0
R Problem with @INT[ value] in V26 Support 9
M Selecting test "off by one" problem in Take command Support 4
Alpengreis UTF-8 problem in TCC related to Python Support 7
K_Meinhard Small problem in german IDE 26 Support 3
B Problem with color in nested shells Support 1
Joe Caverly Problem creating and switching to a DESKTOP Support 9
vefatica Another popup problem Support 10
Alpengreis ffind dialog (/W) problem Support 4
Alpengreis [TCMD v25.00.24] Small space problem with the DE translation in Prefs-GUI Support 1
Alpengreis [TCMD v25.00.24] Problem with copy and paste and the # char via mouse in TCC Support 6
A Problem with functions @int @decimal and identifying Powershell as a shell. Support 12
B IF command problem in tcexit.btm Support 9
fishman@panix.com Problem at Startup of TCC Support 3
P Problem with SFTP copies Support 7
P Problem with FTP copies Support 10
Jay Sage Problem with Context Menu Copy+Paste+Run Key Assignment Support 7
R Problem with %_do_loop in nested do loops Support 2
fishman@panix.com New Problem with later Windows 10 Support 10
Peter Murschall A little problem with LEAVE and COMMENT Support 5
M Handling of %~I problem Support 4
WinLanEm FOR problem Support 18
K Problem With SCRPUT /u Support 3
vefatica What's TCMD's problem with ^e[0m? Support 13
Peter Murschall IDE: RTL with non-English resources-problem is back in Build 28 Support 4
rps Regex problem: \xnn not recognized as a hex character Support 0
rps PRIORITY LOW problem Support 1
old coot Regex problem: \xnn not recognized as a hex character Support 12
vefatica Another problem with build 22. Support 3
Alpengreis [23.x] Download-Problem Support 2
S Problem with " Support 3
C Problem navigating forums Support 11
x13 Problem listing repository files using DIR http(s)://... Support 8
Joe Caverly Problem with TEE in v22 Support 2
Alpengreis Problem with thousands delimiter and colors Support 17
M Take Command 18, migrating to another machine, license problem. Support 1
B TCC 21.01.50 Problem with ALIAS /r and SET /r Support 2
rps How to? @search problem Support 2
WinLanEm @SELECT problem Support 6
T Fixed Problem with use of Batch parameters in the IDE Support 1
Oz Solomon Problem with "list" Support 14
S V21.24 theme problem Support 2
Alpengreis Problem if command prompt is not legacy Support 4
Alpengreis TCMD.INI: The "super hidden" problem ... Support 6
G Odd problem - screen brightness Support 4
rps V20 In-process pipes problem Support 8
Alpengreis Again theme problem [v20.0.21]? Support 11

Similar threads