Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 1. File System - Файловая cистема
copy | deblank | delete | deltree | filefind | filetime | fixfile | index | list | mkdir | name | olist | partcopy | rename | setbytes | space | sync | touch | treesize |

Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: list
sfk list [-time] [-size|-size=digits] [...] dir [mask]
sfk sel[ect] -dir dir1 dir2 -file .ext1 .ext2 !.ext3 [...]

   list all or just selected files from a directory tree.
   select is the same, but it ignores command chaining input.

   options
      -nosub     do not list sub folder contents
      -time      show date and modification time
      -flattime  show date and time in a more compact format
      -tab       separate columns by tab characters, not blanks
      -size[=n]  show size of files [n characters wide]
      -kbytes    or -kb lists sizes in kbytes instead of bytes
      -mbytes    or -gbytes lists sizes in mbytes or gbytes
      -kbpure    list without "kb" postfix
      -stat      show statistics (number of files, dirs, bytes)
                 and tell if hidden files or dirs were skipped.
      -juststat  show no filenames, just statistics.
      -nofollow  or -nofo does not follow symbolic directory links.
                 use this if list runs in an endless recursion.
      -withdirs  list also directories
      -justdirs  list just directories
      -hidden    list also hidden or system files
      -arc       list contents of well known zip, tar.gz and
                 tar.bz2 archives as deep as possible, including
                 nested archives. type "sfk help opt" for the
                 list of well known file extensions.
      -qarc      quick list archives, lists only archive entries
                 at the top level, skipping nested archives.
      -xarc      list contents of any zip file, regardless of
                 file extension, and tar.gz and tar.bz2 files.
                 reads the first bytes of every file and will
                 therefore perform slower then -arc.
      -qxarc     quick list any archive content.
      -sort[=n]  sort by name, list all or last n files
      -sortrev   sort by name, in reverse order
      -late[=n]  sort by time, list latest   [n] files last
      -old[=n]   sort by time, list oldest   [n] files last
      -big[=n]   sort by size, list biggest  [n] files last
      -small[=n]   sort by size, list smallest [n] files last
      -skiplate=n  sort by time, select all except newest n
      -minsize=s   list only files >= size, like 10b or 100k
      -maxsize=s   list only files <= size, like 10m or 4g
                   b=bytes k=kbytes m=megabytes g=gigabytes
      -late=all  sort by time, list all files
      -notime    don't list time, after -late or -old
      -nosize    don't list size, after -big  or -small
      -pure      pure list of filenames, leave out time, size,
                 headline or statistics.
      -quot      surround filenames by double quotes. needed when
                 post-processing filename lists containing blanks.
      -quiet     do not show the "scan" progress information
      -since     list only files since this timestamp, e.g.
                 "2006-01-31 12:15:59" or 20060131121559,
                 2006-01-31 or 20060131.
                 today: files changed since midnight of today.
                 1d: changed since 1 day, i.e. not counting
                 from midnight, but 24 hours into the past.
                 5h, 30m, 10s : 5 hours, 30 minutes, 10 seconds.
      -before    select files modified before that timestamp.
      -today     short replacement for "-since today".
      -usectime  use or list creation time instead of modification time.
                 may not be available on some filesystems.
      -utc       or -gmt lists UTC/GMT time instead of local time.
      -sincedir  compare against another directory, list files that
       or -sd    have been added, have different time, or content.
                 does not list files which have been removed.
      -sinceadd  like -sincedir, list only added files.
      -sincedif  like -sincedir, list only changed files.
                 does not list files with diff. time but same content.
                 does not list added files.
      -sincechg  list files with different content, and added files.
       or -sc    does not list files with diff. time but same content.
      -relnames  list filenames relative to specified directory(s),
                 i.e. strip root directory names at the beginning.
      -abs[olute]   list all filenames with full absolute path.
      -tofile x  write all names directly to file x (using less memory
                 than the chain command +tofile x).
      -maxfiles=n      list a maximum of n files only.
      -fileoff[set]=n  from all selected files, list only a subset,
                 starting at index n. first file has index 0.
      -upat      unix style exclusion syntax with : instead of !
                 e.g. -subdir :/tmp does the same as -subdir !\tmp
      -upat2     also support wildcard % instead of *
      -tomake .ext  select only files that have no, or an older,
                    counterpart file with extension .ext
                    in the same folder.
      -tomake outdir\$base.ext  select only files that have no or
                 an older counterpart file in outdir with .ext.
                 see "sfk run" for example: .wav to .mp3 conversion

   important details of file name / extension selection:
      - when specifying a filename pattern beginning with a dot "."
        and no wildcard, only files with this extension will be selected.
      - otherwise the pattern is searched anywhere within the filename.
        to force a filename start comparison, say \pattern (with a slash).
      - filename means the relative filename, not directory or path name.

   command chaining difference between list and select:
      +list accepts files from previous commands. +select ignores them,
      allowing scripts to run many independent selects in one chain.

   return codes for batch files
      0   nothing found
      1   any files or dirs found

   aliases
      sfk dir          same as "sfk list -stat".
      sfk select       same as list, but ignoring chain input.
      sfk larc         same as "sfk list -arc".
      sfk late         same as "sfk list -late".
      sfk today        same as "sfk list -today".
      sfk big          same as "sfk list -big".
      sfk old          same as "sfk list -old".
      sfk small        same as "sfk list -small".
      sfk times        same as "sfk list -times".

   see also
      sfk help select  the sfk file selection syntax.
      sfk help opt     for further general options.
      sfk stat         to list directory tree sizes.
      sfk filetime     list all times of a file.

   web reference
      http://stahlworks.com/sfk-list

   more in the SFK Book
      the SFK Book contains a 60 page tutorial, including
      sfk dir and list examples with input, command and output.
      type "sfk book" for details.

   examples
      sfk list .
         list all files of current directory and all subdirectories.
      sfk list mydir !.bak !.tmp.txt
         list all files within mydir, except .bak and .tmp.txt files.
      sfk list -dir . -file foo .htm .java*
         this will find and list the following sample filenames:
            thefoobar.dat       matches anywhere-pattern "foo"
            biginfo.htm         matches exact extension  ".htm"
            test.java.9.15      matches anywhere-pattern ".java*"
         the command will NOT list the following sample filenames:
            foosys\thebar.dat   pattern must match filename, not path.
            biginfo.html        does not match extension ".htm"
      sfk list -dir mydir !tmp !\save\ -file .txt
         list all .txt files within mydir, excluding all sub folders
         having "tmp" in their name, or called exactly "save".
      sfk alias list = sfk list -noop
         after this, just typing "list" lists the current directory.
      sfk list -dir src1 -file .cpp -dir src2 -file .hpp
         list .cpp files from src1, .hpp files from src2.
      sfk list -dir src "*examples*"
         list contents of all directories having a name with "examples",
         located somewhere below src. note that "*examples*" defines a
         path mask, whereas "examples" would be another root directory.
         under linux, patterns with a * wildcard MUST have quotes "".
      sfk list -late -dir . -sub foo -file .jsp .java
         list the most recent .jsp and .java files, in all dirs below
         the current one (.) having "foo" in their pathname.
      sfk list -late -dir . *foo -file .jsp .java
         the same, only shorter to type.
      sfk list -justdirs -dir . *foo* -file .jsp .java
         list all folders having "foo" in their pathname
         and which contain any .jsp or .java files.
      sfk list -sincedir src5 src1 .cpp
         provided that directory src5 is an older copy of src1, list the
         .cpp files that have been added/changed since src5 was created.
      sfk list -pure -late=30 -quot | zip ..\update.zip -@
         collect the latest 30 files from current dir into a zip file,
         using InfoZIP's option "-@" to use a filename list from stdin.
      sfk sel src .bak +del
         select all .bak files in src, then delete them.
      sfk list -nosub -late mydir +sleep 5000 +loop
         list most recent files of mydir every 5 seconds,
         excluding all sub folder contents.
      sfk list . .jpg +count
         tell the number of .jpg files in current directory tree.
      sfk list soundlib .wav -tomake outdir\$base.mp3
         list all .wav files in folder soundlib that have no
         or an older .mp3 file counterpart in folder outdir.
         see "sfk run" for the full -tomake example.
      sfk load files.txt +list -noerr
         from a list of filenames keep only filenames that exist
      sfk list -nosub -flattime -tabs . .jpg +filter -stabform
       "ren $qcol3 \q$col1$col2-$col3\q" +run "$text"
         rename all .jpg files in current folder to be prefixed by
         their modification time (type whole command in one line). [27]
      sfk larc src.zip +view
         show content listing of zip file src.zip in Depeche View,
         to search filenames interactively ("sfk view" for details).
      sfk times mydir .txt
         list times of all .txt files within mydir
      sfk sel -flist mylist.txt -time -size
         read filenames from mylist.txt and show their time and size
      sfk list . >lslr
         list files of the current directory and all subdirectories into
         an index text file "lslr" (named after the unix command "ls -lR").
         doing this in a root directory may take some while, but afterwards
         you will find the location of every file in realtime, by simply
         typing "sfk find lslr your_filename_pattern".
      sfk list -qarc -tofile lslrx .
         same as above, but including hidden and system files, as well as
         the first content level of every .zip and .jar file. using -tofile
         instead of ">lslrx" redirection allows you to see a progress info.
         doing this in a root dir like C:\ may produce a filename listing
         of several hundred MB in size.
      sfk list -hidden -arc -tofile lslrxl .
         produce an ultimate file listing, including hidden and system files,
         .zip and .jar contents, .tar, tar.gz and tar.bz2 contents, as well
         as archive contents embedded within archives, like .class files
         embedded within .jar files within a .tar.bz2 archive. running this
         command in a root dir like C:\ may take some hours, and it may
         produce a 1 GB or more file listing, so make sure there is enough
         disk space.