Batch parameters broken?

May 20, 2008
12,393
140
Syracuse, NY, USA
Rex, you seen this BTM before, during the beta testing. A few versions ago I tested all four of the following, and they all worked.
Code:
... | tee /a v:\raw%1.dat | gosub iprocessline | tee /a v:\intruders%1.log (gosub)
... | tee /a v:\raw%1.dat | call :iprocessline | tee /a v:\intruders%1.log (call subroutine)
... | tee /a v:\raw%1.dat | v:\iprocessline.btm | tee /a v:\intruders%1.log (another BTM)
... | tee /a v:\raw%1.dat | iprocessline | tee /a v:\intruders%1.log (library function).

None work with build 25. I get a variety of error messages, but it looks like the batch parameters are not propagated properly. Some of the error messages look like this.
Code:
TCC: (Sys) The process cannot access the file because
 "V:\raw.dat"
TCC: (Sys) The process cannot access the file because
 "V:\intruders.log"
Those file names are wrong. They should be raw1.dat or raw2.dat and intruders1.log or intruders2.log, depending on the value of %1 (1 or 2).
 
Boiled down a tad, that certainly seems to be the problem. Below, the file name is not correct; %1 was not known in the piped instance.
Code:
v:\> type b1.btm
echo %1 | tee %1.txt

v:\> b1.btm foo
foo

v:\> type foo.txt
TCC: (Sys) The system cannot find the file specified.
 "V:\foo.txt"

v:\> type .txt
foo
 

Similar threads