Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

case of file names?

SOLVED
Go to solution
John Tannahill
Frequent Advisor

case of file names?

When I type "copy x y", I end up with Y? Is there a way that I can end up with y?

Note that if I edit a new file (vim) called y and then exit the editor, I do end up with y.

Thanks,
John
3 REPLIES
Ken Robinson
Valued Contributor
Solution

Re: case of file names?

By default, DCL upcases all arguments. When a program that is written in C gets the arguments, it puts them all in lower case except it they are in quotes.

copy x. y. will give you a lower case y. if you're on an ODS-5 disk and your process parse style is set to extended.

$ copy nl: x.
$ copy x. y.
$ dir %.

x.;1 y.;1

sho proc/par

8-OCT-2007 15:15:15.17 User: myuser Process ID: 2080FADE
Node: xxxxxx Process name: "myprocess"

Soft CPU Affinity: off

Parse Style: Extended


Ken
Craig A Berry
Honored Contributor

Re: case of file names?

Just adding to what Ken said, for C (rather than DCL) if you define the following logical name:

$ define DECC$ARGV_PARSE_STYLE ENABLE

the case of command-line arguments will be preserved, and if you define

$ define DECC$EFS_CASE_PRESERVE ENABLE

the filename case of files opened by the CRTL will be preserved.

Both of these assume ODS-5 and somewhat recent VMS versions.
John Tannahill
Frequent Advisor

Re: case of file names?

The set process parse = extended worked for me.
Thanks a bunch!