Differences between revisions 39 and 54 (spanning 15 versions)
Revision 39 as of 2011-07-11 13:48:52
Size: 2010
Editor: KaiJaeger
Comment: New version
Revision 54 as of 2016-09-07 08:10:03
Size: 3005
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Dealing with Files and Directories = = WinFile: Dealing with Files and Directories =
Line 5: Line 6:

 || /!\ '''Important Note: `WinFile` has retired!''' ||

It's successor is [[FilesAndDirs]] which offers pretty much the same functionality but works under Windows, Linux and the Mac OS.

However, please note that `FilesAndDirs` uses the system functions for dealing with files and directories introduced in version 15.0 of Dyalog. It therefore needs at least 15.0, and it does not support the Classic version of Dyalog.

There is a page [[WinFileVersusFilesAndDirs]] that compares the functionality of the two classes in order to make a change as smooth as possible.
Line 14: Line 23:

<<SeeSaw(section="methods", toshow="<<Show>> the list of methods", tohide="<<Hide>> the list of methods", bg="#FEE1A5", speed="Slow")>>
{{{{#!wiki seesaw/methods/methods-bg/hide
Line 15: Line 28:
*** WinFile (Class) ***
Cd
CheckPath
CopyTo
Copyright
DateOf
Delete
Dir
DirX
DoesExist
DoesExistDir
DoesExistFile
GetAllDrives
GetDriveAndType
GetTempFileName
GetTempPath
History
IsDirEmpty
ListDirXIndices
ListDirsOnly
ListFileAttributes
MkDir
MoveTo
ReadAnsiFile
RmDir
Version
WriteAnsiFile
YoungerThan
  Cd
  CheckPath
  CopyToWithRC
  CopyTo
  CreateDirParms
  CreateDirXParms
  CreateListFilesOnlyParms
  DateOf
  Delete
  DirTree
  DirX
  Dir
  DoesExistDir
  DoesExistFile
  DoesExist
  ExpandEnv
  ExpandPath
  GetAllDrives
  GetDriveAndType
  GetTempFileName
  GetTempPath
  History
  IsDirEmpty
  IsFilenameOkay
  IsFoldernameOkay
  IsValidWin32Filename
  ListDirsOnly
  ListFilesOnly
  ListDirXIndices
  ListFileAttributes
  MkDir
  MoveToWithRC
  MoveTo
  PolishCurrentDir
  PWD
  ReadAnsiFile
  ReadBytesAs8BitSignedIntegersFromFile
  RmDir
  Version
  WriteAnsiFile
  YoungerThan
Line 44: Line 70:
}}}}

== Fields ==

<<SeeSaw(section="fields", toshow="<<Show>> the list of fields", tohide="<<Hide>> the list of fields", bg="#FEE1A5", speed="Slow")>>
{{{{#!wiki seesaw/fields/fields-bg/hide

{{{
  COL_CreationDateName
  COL_LastAccessDate
  COL_LastWriteDate
  COL_Name
  COL_ShortName
  COL_Size
  FA_ARCHIVE
  FA_COMPRESSED
  FA_DEVICE
  FA_DIRECTORY
  FA_ENCRYPTED
  FA_HIDDEN
  FA_NORMAL
  FA_NOT_CONTENT_INDEXED
  FA_OFFLINE
  FA_READONLY
  FA_REPARSE_POINT
  FA_SPARSE_FILE
  FA_SYSTEM
  FA_TEMPORARY
  FA_VIRTUAL
  okay
}}}
}}}}
Line 54: Line 112:
||Current state: ||1.7.0 ||
Line 56: Line 113:
`WinFile` needs version 13.0 of Dyalog APL.
Line 57: Line 115:
== Download ==
You have two options: you can either download the script for usage:

[[http://aplwiki.com/WinFile?action=AttachFile&do=get&target=WinFile.ZIP|Download WinFile script right now]]

or get the whole thing from the AplWikiRepository, including the development workspace and the script and maybe more for any development or for running the test cases:

{{{
svn list svn://aplteam.com/os/dyalog/WinFile/tags
}}}
<<Include(APLTreeDownloads)>>

WinFile: Dealing with Files and Directories

WinFile is part of the CategoryAplTree project.

  • /!\ Important Note: WinFile has retired!

It's successor is FilesAndDirs which offers pretty much the same functionality but works under Windows, Linux and the Mac OS.

However, please note that FilesAndDirs uses the system functions for dealing with files and directories introduced in version 15.0 of Dyalog. It therefore needs at least 15.0, and it does not support the Classic version of Dyalog.

There is a page WinFileVersusFilesAndDirs that compares the functionality of the two classes in order to make a change as smooth as possible.

Overview

Nowadays if there is a need to deal with directories and files, there is .NET, right? Well, some companies have decided against .NET, so there is still the need for a .NET-free solution to this. This is what the WinFile class is designed for.

But there is more to say to this: try to get a DirectoryInfo for a directory with, say, 100,000 files. Then compare with this class.

See the list of methods (generated with ADOC):

Methods

Show the list of methods

  Cd
  CheckPath
  CopyToWithRC
  CopyTo
  CreateDirParms
  CreateDirXParms
  CreateListFilesOnlyParms
  DateOf
  Delete
  DirTree
  DirX
  Dir
  DoesExistDir
  DoesExistFile
  DoesExist
  ExpandEnv
  ExpandPath
  GetAllDrives
  GetDriveAndType
  GetTempFileName
  GetTempPath
  History
  IsDirEmpty
  IsFilenameOkay
  IsFoldernameOkay
  IsValidWin32Filename
  ListDirsOnly
  ListFilesOnly
  ListDirXIndices
  ListFileAttributes
  MkDir
  MoveToWithRC
  MoveTo
  PolishCurrentDir
  PWD
  ReadAnsiFile
  ReadBytesAs8BitSignedIntegersFromFile
  RmDir
  Version
  WriteAnsiFile
  YoungerThan

Fields

Show the list of fields

  COL_CreationDateName
  COL_LastAccessDate
  COL_LastWriteDate
  COL_Name
  COL_ShortName
  COL_Size
  FA_ARCHIVE
  FA_COMPRESSED
  FA_DEVICE
  FA_DIRECTORY
  FA_ENCRYPTED
  FA_HIDDEN
  FA_NORMAL
  FA_NOT_CONTENT_INDEXED
  FA_OFFLINE
  FA_READONLY
  FA_REPARSE_POINT
  FA_SPARSE_FILE
  FA_SYSTEM
  FA_TEMPORARY
  FA_VIRTUAL
  okay

Find out more by looking into the documentation WinFileDocumentation.html

Project Page

For bug reports, future enhancements and a full version history see WinFile/ProjectPage

Version Information

Original author:

KaiJaeger

Responsible:

KaiJaeger

Email:

kai@aplteam.com

WinFile needs version 13.0 of Dyalog APL.


CategoryAplTree

WinFile (last edited 2016-09-07 08:10:03 by KaiJaeger)