123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- Zip file/directories name convention under MVS
- ---------------------------------------------------
- Draft 1.1
- 1. Translating native file names to Zip filenames.
- 1.1 Zipping a PDS
- On MVS there are directories called PDS (Partition Data Set) which have
- the following format : name1.name2.name3(mname)
- for example: myuserid.unzip.c(unzip)
- So as you see the path delimiter is '.'. Each dir name can be max 8
- chars long beginning with a number.
- Between '(' and ')' there is the so called member name - it is also 8
- chars long. This is the actual file name.
- 1.1.1 Converting MVS PDS name to zip path/filename (status: not implemented)
- The PDS name is converted to zippath as follows:
- in the zip : name1/name2/mname.name3
- becomes on MVS: name1.name2.name3(mname)
- 1.2 Unzipping as PDS (status: implemented)
- When you unzip the file name myuserid/unzip/unzip.c the same process
- is done backwards, so you get : myuserid.unzip.c(unzip)
- Notice that the file extension is used as last dirname!
- 1.2 Unzipping to a different PDS (status: implemented)
- You can also use -d option while unzipping for example:
- unzip mytest myuserid/unzip/unzip.c -dnewdest.test
- then the new name will become:
- newdest.test.myuserid.unzip.c(unzip)
- Second example:
- unzip mytest myuserid/unzip/*.c -dnewdest.test
- then you get a PDS:
- newdest.test.myuserid.unzip.c(...)
- with all *.c files in it.
- 1.3 Zipping a Sequential Dataset (status: not implemented)
- Sequential dataset is a dataset with NO members.
- Such a dataset is translated from native MVS to zip format by replacing
- the '.' (points) with '/' (backslash).
- Example:
- on MVS: name1.name2.name3
- becomes in the zip : name1/name2/name3
- NOTE : The new filename in the zip has NO extension this way it can be
- recognised as a Sequential dataset and not a PDS.
- But this also means that all files in the zip archive that have
- no extension will be unzipped as Sequential datasets!
- 1.4 Using a DDNAMES for input. (status: not implemented)
- To use DDNAMES as input file names put a 'dd:' before the ddname:
- example: zip myzip dd:name1 dd:name2 dd:sales
- In the Zip archive the ddnames are saved as name.DDNAME so if you try
- the example above you will get in your zip file (when listing it) :
- ..size .. date time .. crc .. NAME1.DDNAME
- ..size .. date time .. crc .. NAME2.DDNAME
- ..size .. date time .. crc .. SALES.DDNAME
- 1.4 Using a DDNAMES as zip name (status: implemented)
- It is allowed to use a DDNAME as zipfile, just put dd: before it
- example: unzip dd:myzip *.c
- this will unzip all .c files from ddname myzip
- example2: ZIP DD:MYZIP DD:MANE1 MYSOURCE.C MYDOC.TEXT(ZIPPING)
- this will zip ddname name1 file mysource.c and PDS mydoc.text(zipping)
- into as a zip file in the ddname myzip
- 2. Converting longer path names (unix like) (status: not implemented)
- to native MVS names.
- When in the zip archive there are dirnames longer that 8 chars they are
- chopped at the 8 position. For example
- MyLongZippath/WithLongFileName.text
- is translated to:
- MYLONGZI.TEXT(WITHLONG)
- Notice that all chars are converted to uppercase.
- 2.1 Using special characters (status: implemented)
- Also all '_' (underscore), '+' (plus), '-' (minus), '(' and ')'
- from the file name/path in the zip archive are skipped because they
- are not valid in the MVS filenames.
- 2.2 Numeric file names (status: not implemented)
- On MVS no name can begin with a number, so when a dir/file name begins with
- one, a leading letter 'N' is inserted. For example:
- Contents.512
- becomes:
- CONTENTS.N512
- Zip file/directories name convention under VM/CMS
- ---------------------------------------------------
- 1. Translating native file names to Zip filenames.
- On VM/CMS (not ESA ) there are NO directories so you got only disks
- and files.
- The file names are delimited with spaces. But for use with unzip/zip
- you have to use '.' points as delimiters.
- For example on your A disk you have file called PROFILE EXEC
- if you want to zip it type : zip myzip profile.exec
- If the same file is on your F disk you have to type:
- zip myzip profile.exec.f
- So as you can see the general format is fname.ftype.fmode
- In the zipfile the disk from which the file comes is not saved!
- So only the fname.ftype is saved.
- If you unzip and you want to give a different destination disk just use
- the -d option like:
- unzip mytest *.c -df
- This will unzip all *.c files to your F disk.
- 2. Converting longer path names (unix like) to native VM/CMS names.
- When in the zip archive there are dirnames longer that 8 chars they are
- chopped at the 8 position. Also the path is removed. For example
- Zippath/WithLongFileName.text
- is translated to:
- WITHLONG.TEXT
- Notice that all chars are converted to uppercase.
- Also all '+' (plus), '-' (minus), '(' and ')'
- from the file name/path in the zip archive are skipped because they
- are not valid in the VM/CMS filenames.
- If there is no extension for the file name in the zip archive, unzip
- will add .NONAME for example:
- mypath/dir1/testfile
- becomes:
- TESTFILE.NONAME
- 3. Future?
- There is also discussion for a new option on ZIP that you can give
- a virtual directory to be added before each file name that is zipped.
- For example you want to zip a few .c file and put them in the zip
- structure under the directory 'mydir/test', but you can't create dirs on
- VM/CMS so you have to the something like:
- ZIP myzip file1.c file2.c -dmydir/test
- and you get in the zip archive files:
- mydir/test/file1.c
- mydir/test/file2.c
- -------------------------------------------------------------------------
- NOTE: Not all of those functions are implemented in the first beta
- release of VM/MVS UNZIP/ZIP.
- Every ideas/corrections/bugs will be appreciated.
- Mail to maillist: Info-ZIP@LISTS.WKU.EDU
- George Petrov
|