In most cases, wherever you could use a DevPPN filespec in A-Shell Basic, you can also use native operating system file specifications, including long filenames (even those containing spaces) and UNC names (or Windows sharenames.) If the filespec contains a forward slash or backslash, A-Shell assumes that it is a native filespec and does not try to translate it. Examples:
open #1, "c:\Program Files\WIERD.STUFF\myfile.xyz", input
open #2, "\\SERVER01\VM$\abcde\wxyz.dat", output
open #3, "/tmp/this is a strange filename.x_y.z", input
You can also embed Environment Variables in filespecs, using the syntax %VARNAME% (where VARNAME is the environment variable name). For example:
Lookup "%TEMP%\junk.dat",X
Lookup "%HOME%/.profile",X
Most of the A-Shell LIT commands, and in particular those that support wildcards, can also use native filespecs, but there you must enclose them in quotes. For example:
.copy hosts.txt="/etc/hosts"
or:
xcall AMOS,"dir hash.lst=""/vm/miame/miame.ini""/h/k"
Note that environment variables are only translated in file specifications when the file is accessed. So it doesn't work in a PRINT statement, but would in an OPEN or ALLOCATE or KILL statement.