DOS 6.22 не поддерживает% ~ nI для пакетных операторов. Вот обходной путь к проблеме, которую я представил в своем первоначальном вопросе о утилите bcheck isql 4.10, требующей только базовое имя, тогда как в isql 2.10 утилита bcheck работала со звездой. Я создал следующую программу QBASIC для решения bcheck 4.10, теперь для работы требуется только базовое имя:
BatFile$ = "CHKFILE.BAT"
IF INSTR(COMMAND$, "?") > 0 THEN
PRINT
PRINT "This program generates a batch file to check Informix files"
PRINT " -b BBBB.BAT this option is used to change the batch file name"
PRINT " by default the batch file name is CHKFILE.BAT"
PRINT
SYSTEM
END IF
IF INSTR(COMMAND$, "-B") > 0 THEN
BatFile$ = LTRIM$(MID$(COMMAND$, INSTR(COMMAND$, "-B") + 2)) + " "
BatFile$ = LEFT$(BatFile$, INSTR(BatFile$, " ") - 1)
END IF
OPEN BatFile$ FOR OUTPUT AS #2
filename$ = DIR$("*.dat")
IF LEN(filename$) = 0 THEN SYSTEM
DO WHILE LEN(filename$) > 0
PRINT #2, "bcheck -y", filename$
filename$ = DIR$
LOOP
CLOSE
SYSTEM
ИЛИ можно написать программу ACE для извлечения базового имени из systables.dirpath и ПЕЧАТЬ "BCHECK -y", systables.dirpath