19.0.0 released Nov 08, 2023
Stat file

Purpose: Get information about a file.

stat-file <file> \
    size | type | path | name \
    to [ define ] <variable>

stat-file gets information about <file>, which is either the full path of a file or directory, or a name relative to the application home directory (see how-vely-works).

Clause "size" will store file's size in bytes to <variable>, or it will be VV_ERR_FAILED (if operation failed, likely because file does not exist or you have no permissions to access it).

Clause "type" will store file's type to number <variable>, and it can be either VV_FILE (if it's a file) or VV_DIR (if it's a directory) or VV_ERR_FAILED (if operation failed, likely because file does not exist or you have no permissions to access it).

Clause "path" gets the fully resolved path of the <file> (including symbolic links), and "name" is the name (a basename, without the path). The results of both "path" and "name" clauses are allocated memory. If path cannot be resolved, then <variable> is an empty string.
Examples
To get file size in variable "sz", which is created here:
stat-file "/home/user/file" size to define sz

To determine if the object is a file or a directory:
stat-file "/home/user/some_name" type to define what
if (what == VV_FILE) {
   @It's a file!
} else if (what == VV_DIR) {
   @It's a directory!
} else {
   @Doesn't exist!
}

Get the fully resolved path of a file to string variable "fp", which is created here.
stat-file "../file" path to define fp

See also
Files
close-file  
copy-file  
delete-file  
file-position  
file-storage  
file-uploading  
lock-file  
open-file  
read-file  
read-line  
rename-file  
stat-file  
temporary-file  
uniq-file  
unlock-file  
write-file    
See all
documentation


You are free to copy, redistribute and adapt this web page (even commercially), as long as you give credit and provide a dofollow link back to this page - see full license at CC-BY-4.0. Copyright (c) 2019-2023 Dasoftver LLC. Vely and elephant logo are trademarks of Dasoftver LLC. The software and information on this web site are provided "AS IS" and without any warranties or guarantees of any kind. Icons from table-icons.io copyright Paweł Kuna, licensed under MIT license.