Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
hi guys...I need a script to convert vms directory path to unix equivalent
Eg:- convert dka0:[a.b.c]temp.txt to /dka0/a/b/c/temp.txt
thx

How about this.......quick and dirty
$ file = f$search("login.com")
$ device = f$parse(file,,,"device") - ":"
$ directory = f$parse(file,,,"directory") - "<"-"["-">"-"]"
$ num = 0
$ unixdir = ""
$next_subdir:
$ subdir = f$element(num,".",directory)
$ if subdir .nes. "."
$ then
$ unixdir = unixdir + "/" + subdir
$ num = num + 1
$ goto next_subdir
$ endif
$ filename = f$parse(file,,,"name")
$ filetype = f$parse(file,,,"type")
$ unix_file_name = device+unixdir+"/"+filename+filetype
$ show sym unix_file_nameregards,
Hakan Zanderau
HA-solutions

HakZans procedure covers most, but not all cases: try it e.g. with [-.otherdir]file.typ .
If You have Perl installed, the following procedure may be of value:
<http://wwwvms.mppmu.mpg.de/util_root/com/unixify.com>
It makes use of the perl unixify() function in the VMS::Filespec package.Also DECC has a function decc$from_vms, which does the translation.
See an example in
<http://wwwvms.mppmu.mpg.de/~huber/util/main/vms_to_unic.c>

![]() |
![]() |
![]() |
| Login or Register to Reply | |
| Login | Register |
| Ads by Google |