<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=GetOsInfo</id>
	<title>GetOsInfo - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=GetOsInfo"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=GetOsInfo&amp;action=history"/>
	<updated>2026-04-28T23:42:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=GetOsInfo&amp;diff=1835&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=GetOsInfo&amp;diff=1835&amp;oldid=prev"/>
		<updated>2015-02-26T23:48:54Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Note that this routine is not fast. = &lt;br /&gt;
For pure speed you&amp;#039;re probably better off running shell commands to parse the directory information you are looking for. This works well for a generic utility that you can use in [[UniData]] to take a quick look at the directories or grab item information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
SUBROUTINE GET.OS.INFO(RTN.INFO,CURRENT.ID,TYPE)&lt;br /&gt;
*&lt;br /&gt;
* Colin Alfke&lt;br /&gt;
*&lt;br /&gt;
COMMON [[/OS]].INFO/ VOC, PATH&lt;br /&gt;
IF UNASSIGNED(PATH) THEN PATH = &amp;#039;&amp;#039;&lt;br /&gt;
*&lt;br /&gt;
CMND = @COMMAND&lt;br /&gt;
PLATFORM = OCONV(SYSTEM(33),&amp;#039;MCU&amp;#039;)&lt;br /&gt;
IF PLATFORM = &amp;quot;UNIX&amp;quot; THEN DELIM = &amp;quot;/&amp;quot; ELSE DELIM = &amp;quot;\&amp;quot;&lt;br /&gt;
FN = FIELD(CMND,&amp;#039; &amp;#039;,2)&lt;br /&gt;
*&lt;br /&gt;
* Get the full path from the VOC&lt;br /&gt;
*&lt;br /&gt;
FILE.PATH = &amp;#039;&amp;#039;&lt;br /&gt;
IF PATH # @PATH OR NOT(FILEINFO(VOC,0)) THEN&lt;br /&gt;
  OPEN &amp;#039;VOC&amp;#039; TO VOC THEN&lt;br /&gt;
    READV FILE.PATH FROM VOC, FN, 2 ELSE FILE.PATH = &amp;#039;&amp;#039;&lt;br /&gt;
  END&lt;br /&gt;
  PATH = @PATH&lt;br /&gt;
END&lt;br /&gt;
*&lt;br /&gt;
* Convert any environment variables to the full path&lt;br /&gt;
*&lt;br /&gt;
CONVERT DELIM TO @VM IN FILE.PATH&lt;br /&gt;
NUM.PATH = DCOUNT(FILE.PATH&amp;lt;1&amp;gt;,@VM)&lt;br /&gt;
FOR NP = 1 TO NUM.PATH&lt;br /&gt;
  IF FILE.PATH&amp;lt;1,NP&amp;gt;[1,1] = &amp;quot;@&amp;quot; THEN&lt;br /&gt;
    FILE.PATH&amp;lt;1,NP&amp;gt; = GETENV(FILE.PATH&amp;lt;1,NP&amp;gt;[2,999])&lt;br /&gt;
  END&lt;br /&gt;
NEXT NP&lt;br /&gt;
CONVERT @VM TO DELIM IN FILE.PATH&lt;br /&gt;
*&lt;br /&gt;
* Get the info&lt;br /&gt;
*&lt;br /&gt;
FP = FILE.PATH:DELIM:CURRENT.ID&lt;br /&gt;
BEGIN CASE&lt;br /&gt;
  CASE TYPE = &amp;#039;S&amp;#039;                   ;* Size&lt;br /&gt;
    RTN.INFO = DIR(FP)&amp;lt;1&amp;gt;&lt;br /&gt;
  CASE TYPE = &amp;#039;D&amp;#039;                   ;* Date&lt;br /&gt;
    RTN.INFO = DIR(FP)&amp;lt;2&amp;gt;&lt;br /&gt;
  CASE TYPE = &amp;#039;T&amp;#039;                   ;* Time&lt;br /&gt;
    RTN.INFO = DIR(FP)&amp;lt;3&amp;gt;&lt;br /&gt;
  CASE TYPE = &amp;#039;P&amp;#039;                   ;* Privileges&lt;br /&gt;
    RTN.INFO = DIR(FP)&amp;lt;4&amp;gt;&lt;br /&gt;
  CASE 1                            ;* Date and Time&lt;br /&gt;
    TEMP = DIR(FP)&lt;br /&gt;
    RTN.INFO = OCONV(TEMP&amp;lt;2&amp;gt;,&amp;#039;D4&amp;#039;):&amp;quot;  &amp;quot;:OCONV(TEMP&amp;lt;3&amp;gt;,&amp;#039;MTS&amp;#039;)&lt;br /&gt;
END CASE&lt;br /&gt;
RETURN&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Here are some dictionaries that you can use to call this routine (I keep them in the VOC so I can run them on any file):&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OS.DATE:&lt;br /&gt;
IReturn Operating System date on the file&lt;br /&gt;
SUBR(&amp;quot;GET.OS.INFO&amp;quot;,@ID,&amp;#039;D&amp;#039;)&lt;br /&gt;
D4&lt;br /&gt;
    OS Date&lt;br /&gt;
11R&lt;br /&gt;
S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OS.TIME:&lt;br /&gt;
IReturn Operating System time on the file&lt;br /&gt;
SUBR(&amp;quot;GET.OS.INFO&amp;quot;,@ID,&amp;#039;T&amp;#039;)&lt;br /&gt;
MTS&lt;br /&gt;
 OS Time&lt;br /&gt;
8R&lt;br /&gt;
S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OS.PRIV:&lt;br /&gt;
IReturn Operating System priveleges on the file&lt;br /&gt;
SUBR(&amp;quot;GET.OS.INFO&amp;quot;,@ID,&amp;#039;P&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
OS Priv&lt;br /&gt;
5L&lt;br /&gt;
S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OS.SIZE:&lt;br /&gt;
IReturn Operating System size on the file&lt;br /&gt;
SUBR(&amp;quot;GET.OS.INFO&amp;quot;,@ID,&amp;#039;S&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
        OS Size&lt;br /&gt;
15R&lt;br /&gt;
S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OS.INFO:&lt;br /&gt;
IReturn Operating System Info&lt;br /&gt;
SUBR(&amp;quot;GET.OS.INFO&amp;quot;,@ID,&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    OS Info&lt;br /&gt;
21L&lt;br /&gt;
S&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
</feed>