ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Windowsからz/OSへレコード長指定でFTP転送する

普通にFTPすると、可変長形式(VB)のレコード長256bytesでアップロードされてしまい、テストデータとして使えないというオチがあったので、色々調べてみました。
とりあえず、windowsftpコマンドのヘルプを見てて、「なんか使えるコマンドねーかなー」と思って発見したのが、remotehelpコマンドだったってわけです。
下のは試しに、ftp.freebsd.orgへログインして、remotehelpコマンドをたたいてみたところ。

ftp> remotehelp
214-The following commands are recognized (* => unimplemented, + => extension).
      ABOR   CLNT+  HELP   MLSD  PASS  REST  SIZE   SYST
      ACCT*  CWD    HOST*  MLST  PASV  RETR  SMNT*  TYPE
      ALLO*  DELE   LANG   MODE  PORT  RMD   STAT   USER
      APPE   EPRT*  LIST   NLST  PWD   RNFR  STOR
      AUTH*  EPSV*  MDTM   NOOP  QUIT  RNTO  STOU
      CDUP   FEAT   MKD    OPTS  REIN  SITE  STRU*

    This site is running NcFTPd Server software.
    For more information about this FTP server software, visit:

      http://www.NcFTP.com/ncftpd/
214
ftp>

で、UNIX系サーバにFTPでログインしたとき、

literal site chmod 755 file

とかやって、サーバのコマンドを発行するのを思い出し、siteコマンドのremotehelpを見てみたところ、
レコード長を100bytesに変えるときは、

literal site lrecl=100

データセット形式を固定長に変えるときは、

literal site recfm=FB(固定長)

とすればよいことが分かりました。
あわせると、

bin

literal site lrecl=100

literal site recfm=FB

put local.file remote.file

みたいな感じ。
FTPが使えてくれるだけでも、PCとの連携がかなり出来るので、ほんと助かります。
これ、汎用機の中の世界だけでテストデータ作ってくれとか言われたとしたら、もう発狂しそうな勢いです。(とはいっても、そのときはそのときでなんとかしてしまうのだろうけど。。)