home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 April / PCO_04_97.ISO / filesbbs / os2 / dfs201.arj / DFS201.ZIP / dfsdir.cmd < prev    next >
Encoding:
Text File  |  1997-02-07  |  2.1 KB  |  78 lines

  1. /* Show a directory in DFS verbose format                    JvW 05-02-97    */
  2.  
  3.    Parse Source with . myself .
  4.  
  5.    Parse Arg dirname logname
  6.    if dirname = '' then
  7.    do
  8.       dirname = directory()
  9.    end
  10.  
  11.    if Address() <> 'DFS' then
  12.    do
  13.       Address cmd '@dfs runq' myself dirname logname
  14.    end; else
  15.    do
  16.       if logname <> '' then
  17.       do
  18.          Address cmd 'del' logname
  19.          Address dfs 'log' logname
  20.       end
  21.       if substr(dirname,2,1) <> ':' then
  22.       do
  23.          drive   = substr( directory(),1,2)
  24.       end; else
  25.       do
  26.          drive   = substr( dirname,1,2)
  27.          dirname = substr( dirname, 3)
  28.       end
  29.       if substr(dirname,1,1) = '\' then
  30.       do
  31.          prefix = ''
  32.       end; else
  33.       do
  34.          prefix = substr( directory(),3)'\'
  35.       end
  36.       'screen off'
  37.       Address dfs 'part' drive
  38.       if rc = 0 then
  39.       do
  40.          if dfs_afsys = 'HPFS' then
  41.          do
  42.             Address dfs 11                      /* spareblock                */
  43.             Address dfs ' '                     /* codepage info             */
  44.             Address dfs prefix || dirname
  45.             Address dfs ' '
  46.             if rc = 0 then
  47.             do
  48.                'CopyOutput'
  49.                '@screen on'
  50.                Say ''
  51.                Say "SectorNr       size  EA's Cpg Attr /flags Filename"
  52.                Say "======== ========== ===== === ===== ===== ==================="
  53.                '@screen off'
  54.                do i=1 to dfs_output.0
  55.                   parse value dfs_output.i with index lsn rest
  56.                   if substr(index,1,1) = '.' then
  57.                   do
  58.                      '@screen on'
  59.                      say lsn rest
  60.                      '@screen off'
  61.                   end
  62.                end
  63.                drop dfs_output.
  64.             end
  65.             'screen on'
  66.          end; else
  67.          do
  68.             'screen on'
  69.             Say 'DFSDIR currently only supported for HPFS partitions!'
  70.          end
  71.       end; else
  72.       do
  73.          'screen on'
  74.          Say 'Drive/partition' drive 'is not a valid DFS partition'
  75.       end
  76.    end
  77. exit 0
  78.