Yeah, I know: another crazy user :-). Please bear with me.
This btm file ...
... works as expected in TCC 16, producing this output:
But when I uncomment the setdos line, the for loop terminates after just one iteration:
Question and possibly-useful data points:
Any help will be very much appreciated.
Thanks,
David Habermehl
This btm file ...
setlocal
:: setdos /c%=@
for %k in (%1) do (
endlocal
:: setdos /c%=@
for %k in (%1) do (
iff "foo" == "foo" then
)echo if says "%k"
elseecho else says "%k"
endiffendlocal
... works as expected in TCC 16, producing this output:
TCC 16.03.55 x64 Windows 7 [Version 6.1.7601]
Copyright 2014 JP Software Inc. All Rights Reserved
Registered to David Habermehl - 1 System License
[C:\Command\TCMD16x64]foo.btm *.flac
setlocal
for %k in (%1) do ( iff "foo" == "foo" then & echo if says "%k" & else & echo else says "%k" & endiff )
if says "01.flac"
if says "02.flac"
if says "03.flac"
if says "04.flac"
if says "05.flac"
if says "06.flac"
if says "07.flac"
if says "08.flac"
if says "09.flac"
if says "10.flac"
if says "11.flac"
if says "12.flac"
if says "13.flac"
if says "14.flac"
if says "15.flac"
if says "16.flac"
if says "17.flac"
if says "18.flac"
if says "19.flac"
endlocal
[C:\Command\TCMD16x64]
Copyright 2014 JP Software Inc. All Rights Reserved
Registered to David Habermehl - 1 System License
[C:\Command\TCMD16x64]foo.btm *.flac
setlocal
for %k in (%1) do ( iff "foo" == "foo" then & echo if says "%k" & else & echo else says "%k" & endiff )
if says "01.flac"
if says "02.flac"
if says "03.flac"
if says "04.flac"
if says "05.flac"
if says "06.flac"
if says "07.flac"
if says "08.flac"
if says "09.flac"
if says "10.flac"
if says "11.flac"
if says "12.flac"
if says "13.flac"
if says "14.flac"
if says "15.flac"
if says "16.flac"
if says "17.flac"
if says "18.flac"
if says "19.flac"
endlocal
[C:\Command\TCMD16x64]
But when I uncomment the setdos line, the for loop terminates after just one iteration:
TCC 16.03.55 x64 Windows 7 [Version 6.1.7601]
Copyright 2014 JP Software Inc. All Rights Reserved
Registered to David Habermehl - 1 System License
[C:\Command\TCMD16x64]foo.btm *.flac
setlocal
setdos /c^@
for %k in (%1) do ( iff "foo" == "foo" then @ echo if says "%k" @ else @ echo else says "%k" @ endiff )
if says "01.flac"
[C:\Command\TCMD16x64]
Copyright 2014 JP Software Inc. All Rights Reserved
Registered to David Habermehl - 1 System License
[C:\Command\TCMD16x64]foo.btm *.flac
setlocal
setdos /c^@
for %k in (%1) do ( iff "foo" == "foo" then @ echo if says "%k" @ else @ echo else says "%k" @ endiff )
if says "01.flac"
[C:\Command\TCMD16x64]
Question and possibly-useful data points:
- The first output shows that none of the filenames contain @, so why should the setdos command have an impact?
- The btm file with the uncommented setdos line behaves as expected with TCC 12.10.67 x64.
- The btm file with the uncommented setdos line behaves as expected with TCC 16.03.55 x64 if I remove the else clause!
TCC 16.03.55 x64 Windows 7 [Version 6.1.7601]
Copyright 2014 JP Software Inc. All Rights Reserved
Registered to David Habermehl - 1 System License
[C:\Command\TCMD16x64]foo.btm *.flac
setlocal
setdos /c^@
for %k in (%1) do ( iff "foo" == "foo" then @ echo if says "%k" )
if says "01.flac"
if says "02.flac"
if says "03.flac"
if says "04.flac"
if says "05.flac"
if says "06.flac"
if says "07.flac"
if says "08.flac"
if says "09.flac"
if says "10.flac"
if says "11.flac"
if says "12.flac"
if says "13.flac"
if says "14.flac"
if says "15.flac"
if says "16.flac"
if says "17.flac"
if says "18.flac"
if says "19.flac"
endlocal
[C:\Command\TCMD16x64]
Copyright 2014 JP Software Inc. All Rights Reserved
Registered to David Habermehl - 1 System License
[C:\Command\TCMD16x64]foo.btm *.flac
setlocal
setdos /c^@
for %k in (%1) do ( iff "foo" == "foo" then @ echo if says "%k" )
if says "01.flac"
if says "02.flac"
if says "03.flac"
if says "04.flac"
if says "05.flac"
if says "06.flac"
if says "07.flac"
if says "08.flac"
if says "09.flac"
if says "10.flac"
if says "11.flac"
if says "12.flac"
if says "13.flac"
if says "14.flac"
if says "15.flac"
if says "16.flac"
if says "17.flac"
if says "18.flac"
if says "19.flac"
endlocal
[C:\Command\TCMD16x64]
Any help will be very much appreciated.
Thanks,
David Habermehl