【dos】バッチファイルでFTPコマンド実行

Windows XPのサポートが終わりノートPCをWindows7にアップグレード。
それに伴い、外からの受注ファイル送信方法がFTPに先祖返りした話 😮

使っている受注端末が古く、遠隔地からの受注データは一度メモリーへコピーしノートパソコンで送信。

長い間、WindowsXPノートでRAS(Remote Access Server)接続。
社内LANにログインして受注データはWindowsのCOPYコマンドでServerへコピーしています。

でも、2014年4月9日WindowsXPのメーカーサポートが終了
そこで、OSをWindows7へアップグレードし同じことをさせたらトラブル発生!

Windows7はXPよりファイルのアクセス権管理が厳しくなってるのかな?
下のエラーが表れファイルが読めない!:-(

「ファイルはほかの人またはプログラムによって使用されています。可能性のあるプロセスを全て閉じてからやり直してください。」

ほかの人またはプログラムによって使用されています。可能性のあるプロセスを全て閉じてから

調べてみると、リモートログイン中はロック無し。
ログアウトするとロックが掛かりファイルを開けなくなります!

どうやらロックしている「他のプログラム」ってWindowsディスク共有機能みたいです。

ならば、Windowsディスク共有を使わないファイルの転送方法は何が無いか?
そうなると思いつくのは超クラッシックな王道:FTP(File Transfer Protocol)。

まず、社内LANにFTPサーバを構築。
そして、受注ファイルをFTPさせるバッチファイルを作ろうかと思ったら・・・

あれ、DOSのFTPコマンドってどう使うの?
困った時のGoogleさま。

検索で見つけた下のページを参考に久しぶりのBATファイルを作りました。

[Windows で使用できるFTPコマンドの使用説明(その1)]

FTPさせるバッチファイル:note2server.bat

ftp -s:c:katabe
otePC2server.ftp

FTPサーバファイル:notePC2server.ftp

open ftpサーバIPアドレス
loginuser
password
put order.csv /ftproot/order/orderftp.csv
bye

バッチファイルでFTP出来た!

やった、FTPコマンドでファイルアップロードが出来た!
ファイルにロックも掛かっていない!

成功したかもと思ったら、あれ違うエラーが出た:-o
プロセスによるロックから、今度はファイルシステムのロック 😕

WindowsServerへFTPした時のNTFSファイルアクセス権ってどう管理するんだろう?
よく分からないまま、「chmod 666」をputコマンドの次に書き加えてみました。

すると、やったー動いた、大成功!

quote site chmod 666 /ftproot/order/orderftp.csv

バッチファイルでFTP出来た!

これで実践投入準備OK 🙂
皮肉ですね、OSをアップグレードしたことでファイルの転送方法がクラッシックなFTPに先祖返りするなんて。

それにしても古いハンディーターミナルを使い続けるのもそろそろ限界:-(
基幹システムとの連携部分をもう少し作りこんで、早急にFileMakerGO「なんちゃってハンディーターミナル」アプリを実践投入しないとな・・・
と言うか、私が待っているのは液晶画面が大型化させると噂のiPhone6の発売なんです。
私が読んだネットニュースでは、新iPhone6の液晶は2サイズ。iPhone6sが4.7インチ、iPhone6cが5.5インチになるそうです(あくまで噂)

高齢化が進む形部商事、小さな4インチ液晶用に作った受注画面のボタンと文字が小さすぎると不評で誰も使ってくれないんです。
5.5インチ型発売を待って実戦投入用アプリを仕上げる予定です 😀

その頃に、FileMakerGOのバージョンアップが進みFTP機能が付いてくれたりしたら超嬉しいんだけどな・・・・・

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA