How to set %_INIREAD result to variable

Charles Dye

Super Moderator
Staff member
May 20, 2008
4,466
88
Albuquerque, NM
prospero.unm.edu
@INIREAD returns the item's value, unless there is an error -- the file doesn't exist, the section doesn't exist, etc. -- in which case it's supposed to return -1.

@INIWRITE, by contrast, is supposed to return 0 or -1; not the value you've written. If you don't want the 0 or -1 in those variables, then don't use those variables. (I often use a variable RV for "return value", which I can check later if I want to.)

Finally, SET should have one equals sign, with no spaces. (It seems to work as written, but it's always safer to use the documented syntax.)
 
May 29, 2008
571
4
Groton, CT
Code:
~\Work> type test.ini
[xyzzy]
foo=123
bar=455

~\Work> set x=%@iniread[".\test.ini",xyzzy,foo]

~\Work> set x
123

~\Work> unset y

~\Work> set y == %@iniread[".\test.ini",xyzzy,foo]

~\Work> set y
y == 123

~\Work> echo %y%
ECHO is OFF

~\Work> echo %[y ]
= 123

~\Work>

SET X == anything
does not set envvar X at all. It sets a variable whose name is X followed by a space.

The first = terminated the name of the envvar (ending in a space) and the second = became the first character of the value.
 
May 20, 2008
11,415
99
Syracuse, NY, USA
Finally, SET should have one equals sign, with no spaces. (It seems to work as written, but it's always safer to use the documented syntax.)

That may look like it works.
Code:
v:\> set zzz == foo

v:\> set zzz
zzz == foo

But I'm confident it isn't doing what's intended. Above, the variable name is "zzz " and it's value is "= foo".
Code:
v:\> echo %[zzz ]
= foo
 
Similar threads
Thread starter Title Forum Replies Date
V Set path permanently from within TCC? Support 3
S Debugger keeps breaking with no break point set. Support 1
Joe Caverly Set a batch variable (%1 - %n) when TCC is executing a batch file Support 5
R How to? Set default application in a special folder Support 4
A How to? Set up SMTP password in TCC-RT Support 1
vefatica WAD More SET /A woes Support 4
vefatica SET /A and multidimensional array. Support 1
M How to set Path variable for non-executable file extensions in 4DOS Support 8
D Need to set Take Command font size when switching to high DPI display Support 0
P "Set" command behavior - a bug? Support 3
M How to? Set the ribbon titles to mixed case Support 1
M WAD Set statements in () causes problems Support 8
M How to? How to set a default TITLE for newly opened tab? Support 2
M Fixed Set "VAR=VAL" format causes problems Support 12
vefatica SET /A var=expression=digits Support 3
cxxl Set encoding for batch file Support 4
B TCC 21.01.50 Problem with ALIAS /r and SET /r Support 2
vefatica SET /A var\=...? Support 10
dcantor Documentation SET /T: missing from heading Support 0
fpefpe Documentation Set /v Support 4
vefatica What's SET /Z? Support 1
R Fixed set /r has stopped working in build 35 Support 4
BeechComer Debugger: how to set %1 variable? Support 3
fpefpe How to? Global variable set /v Support 4
fpefpe Documentation Can the title line of tcmd be set? Support 4
J How to set working directory Support 10
Jay Sage Failure of ACTIVATE to Set a Window Position Support 3
rps Fixed Win "set /p" not working in V17 build 53 Support 3
vefatica SET /A "var%=N", TCC vs. CMD Support 0
J Set environment variable from stdout of command Support 3
B How to? Pre-set _tcfolder on startup when Folders is set Auto-Hide Support 6
Dan Glynhampton Fixed @version "force" flag not working, and unable to set separator Support 3
R WAD /= size ranges not set correctly Support 5
S How to? Set the timestamp of ZIP command built archive to match latest member Support 8
Mordachai Help! How to set parameters for script I'm debugging?! Support 6
Roedy SET= Support 2
A How to? Set up a log file for all command output Support 3
M Fixed character set in dir/copy Support 3
Phileosophos Fixed TakeCommand exits upon "set [" command Support 14
R How to set comspec to point to cmd.exe? Support 5
S WAD SET problem - array element initialization Support 11
C Wildcard expansion in FOR set Support 27
vefatica SET question Support 16
T Set 1% then Echo 1% Support 9
S SET /A question; HELP nits Support 8
noahcoad copy /w to FTP does not set time stamp Support 1
M A request for a new feature for the "set" command... Support 5
cgunhouse Accessing variables set using SET /U or SET /S Support 3
D Force For to treat set of values as text, not files Support 3
vefatica Regular expressions in FOR's set? Support 10

Similar threads