Funciones variables son muy similares a las variables internas, pero toman uno o más parámetros (que pueden ser variables de entorno o incluso otras funciones variables).

 

Las funciones variables son útiles tanto en el símbolo del sistema como en alias y archivos por lotes para verificar los recursos disponibles del sistema, manipular cadenas y números, y trabajar con archivos y nombres de archivos.

 

Las funciones variables integradas en TCC se enumeran en orden alfabético en los temas siguientes. También puede obtener ayuda desde el símbolo del sistema sobre cualquier función con un AYUDA @nombre de la función  comando, o presionando Ctrl-F1 cuando el cursor está en el nombre de la función. Ver el AYUDA comando para más detalles.

 

Nota: Las FUNCIÓN El comando se puede utilizar para crear, editar o mostrar funciones variables definidas por el usuario, y el FUNCIÓN para borrarlos

 

Para obtener una lista de funciones variables organizadas por categorías generales de uso, consulte Funciones variables por categoría.

 

Sintaxis

 

Para evaluar una función variable definida por el usuario o incorporada, su nombre debe estar precedido por un signo de porcentaje % (%@EVAL, %@LEN, etc.). Todas las funciones variables deben tener corchetes [] adjuntando sus parámetros, si los hubiera. No se permiten espacios entre el nombre de la función y el [.

 

Tamaño de memoria / Espacio en disco / Unidades de tamaño de archivo y formato de informe

 

Algunas funciones variables, como @DISCOFREE, acepta un parámetro opcional código de escala. Estas funciones devuelven un tamaño de un disco o de una entidad en el disco como un múltiplo del factor de escala especificado en la siguiente tabla. Las letras minúsculas indican una potencia de 1,000, las letras mayúsculas una potencia de 1,024.

 

 

Código

Factor de escala

Código

Factor de escala

Nombre de la unidad

b

1

 

B

1

 

byte

k

1,000

10 ** 3

K

1,024

2 ** 10

kilobyte

m

1,000,000

10 ** 6

M

1,048,576

2 ** 20

megabyte

g

1,000,000,000

10 ** 9

G

1,073,741,824

2 ** 30

gigabyte

t

1,000,000,000,000

10 ** 12

T

1,099,511,627,776

2 ** 40

terabyte

p

1,000,000,000,000,000

10 ** 15

P

1,125,899,906,842,624

2 ** 50

petabyte

e

1,000,000,000,000,000,000

10 ** 18

E

1,152,921,504,606,846,976

2 ** 60

exabyte

 

 

Puedes incluir comas (O la Separador de miles) en el valor devuelto por una función agregando la letra c al código de báscula. Por ejemplo, para agregar comas a un b (número de bytes) resultado, ingrese bc como parámetro, es decir:

 

eco %@DISKFREE[C,bc]

 

Notas

 

1)Los fabricantes de discos utilizan los prefijos adoptados del sistema métrico (kilo, mega, giga, tera) en su significado original (potencias de 1,000), mientras que los fabricantes de memorias y Microsoft utilizan potencias ligeramente mayores de 1,024 (2**10)..

 

2)Las código de escala es uno de los pocos casos en los que TCC is distingue mayúsculas y minúsculas.

 

Formato del parámetro de fecha

 

Consulte las Formatos de fecha tema.

 

Parámetros de nombre de archivo

 

Los nombres de archivos pasados ​​como parámetros de funciones variables deben estar entre comillas dobles si contienen espacios en blanco o caracteres especiales. Varias funciones también devuelven nombres de archivos o partes de nombres de archivos. En las unidades LFN, las cadenas devueltas por estas funciones pueden contener espacios en blanco u otros caracteres especiales. Para evitar problemas que podrían ser causados ​​por estos caracteres, cite el nombre devuelto antes de pasarlo a otros comandos. Por ejemplo (cualquiera de estos métodos funcionaría):

 

establecer fname="%@findfirst[pro*]"

echo El primer archivo PRO contiene:

escribe %fnombre

.....

establecer fname=%@findfirst[pro*]

echo El primer archivo PRO contiene:

escribe "%fnombre"

.....

 

Si no utiliza las comillas en el comando SET o TYPE en este ejemplo, TYPE no interpretará correctamente los espacios en blanco ni los caracteres especiales del nombre.

 

Parámetros de letras de unidad

 

En funciones variables que toman una letra de unidad como parámetro, como @DISCOFREE or @LISTO, la letra de unidad debe: ir seguido de dos puntos. La función no funcionará correctamente si utiliza la letra de unidad sin dos puntos.

 

Funciones de acceso a identificadores de archivos

 

Las @FILEREAD, @FILEWRITE, @FILEWRITEB, @FILESEEK, @FILESEEKL y @FILECLOSE Las funciones le permiten acceder a archivos según su mango de archivo. Estas funciones deben usarse sólo con identificadores de archivos devueltos por @FILEOPEN, a menos que se indique lo contrario en las funciones individuales. Si los usa con cualquier otro identificador de archivo, puede dañar los archivos.

 

Atributos de archivo

 

Varias funciones aceptan una cadena de atributo de archivo para ayudar a determinar qué archivos procesar. Las reglas para construir la cadena de atributos son las mismas que para Cambios de atributos en comandos.

 

Ejemplos

 

Puede utilizar funciones variables de una amplia variedad de formas según sus necesidades. Aquí hay un par de ejemplos para darle una idea de lo que es posible:

 

El siguiente comando configura el mensaje para mostrar la cantidad de memoria libre (consulte PROMPT para obtener detalles sobre cómo incluir funciones variables en su mensaje):

 

mensaje (%%@dosmem[K]K) $p$g

 

Configure una calculadora de línea de comando simple. La calculadora se utiliza con un comando como CALC 3 * (4 + 5):

 

alias calc `echo La respuesta es:  %@eval[%$]`