system_isdir(3f) - [M_system:QUERY_FILE] checks if argument is a directory path (LICENSE:PD)
Synopsis
Description
Options
Return Value
Errors
See Also
Example
elemental impure logical function system_isdir(pathname)
character(len=*),intent(in) :: pathname logical :: system_isdir
The system_isdir(3f) function checks if path is a directory.
path a character string representing a directory pathname. Trailing spaces are ignored.
The system_isdir() function should always be successful and no return value is reserved to indicate an error.
No errors are defined.
system_islnk(3f), system_stat(3f), isreg(3f), system_perm(3f)
Sample program
program demo_system_isdir use M_system, only : system_isdir use M_system, only : access=>system_access, R_OK use M_system, only : system_dir implicit none character(len=1024),allocatable :: filenames(:) ! BUG: cannot use len=: in gfortran 8.3.1 integer :: i character(len=80),parameter :: names(*)=[ & & /tmp , & & /tmp/NOTTHERE , & & /usr/local , & & . , & & PROBABLY_NOT ] ! do i=1,size(names) write(*,*) is ,trim(names(i)), a directory? , system_isdir(names(i)) enddo ! ! EXTENDED EXAMPLE: list readable non-hidden directories in current directory filenames=system_dir(pattern=*) ! list all files in current directory ! select readable directories filenames=pack(filenames,system_isdir(filenames).and.access(filenames,R_OK)) filenames=pack(filenames,filenames(:)(1:1) .ne..) ! skip hidden directories do i=1,size(filenames) write(*,*) ,trim(filenames(i)), is a directory enddo ! end program demo_system_isdirResults:
is /tmp a directory? T is /tmp/NOTTHERE a directory? F is /usr/local a directory? T is . a directory? T is PROBABLY_NOT a directory? FTEST is a directory EXAMPLE is a directory
system_isdir (3) | March 11, 2021 |