人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

バッチで今日の日付のCSVファイルをFTPサーバにアップする方法が知りたいです。

環境はwindows XPです。

以下のコードを[ftp -n < filename]と実行してもだめでした。

filename
---------------------------------------------------------------
set csvfile=%date:~-10,4%%date:~-5,2%%date:~-2,2%.csv
open サーバ名
user ユーザ パスワード
bin
prompt
cd ./www/csv_upload
lcd C:\csv
put %csvfile%
quit
---------------------------------------------------------------

エラー内容は

%csvfile%: File not found

と、FTP接続する前に行った、csvfileという変数が生きてないようです。

「今日の日付のCSVファイルをFTPサーバにアップする」
あるいは
「指定ディレクトリから最新のファイルをCSVをFTPサーバにアップする」
これを実現するためのコマンドを教えてください。


●質問者: ruijio
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

setはbatコマンドでありftp.exe実行下では使えません。

対応としてはbatにてftpコマンドファイル(仮にftp.txtとしました)を作成して、
ftp.exe実行時にパラメータとして付与するという形になります。

下記一例

set csvfile=%date:~-10,4%%date:~-5,2%%date:~-2,2%.csv
echo open サーバ名 > ftp.txt
echo user ユーザ パスワード>> ftp.txt
echo bin >> ftp.txt
echo prompt >> ftp.txt
echo cd ./www/csv_upload >> ftp.txt
echo lcd C:\csv >> ftp.txt
echo put %csvfile% >> ftp.txt
echo quit >> ftp.txt
ftp -s:ftp.txt
del ftp.txt

ruijioさんのコメント
ありがとうございます。 ftp -s:ftp.txt だと、FTPサーバにログインできずに止まってしまったので、 ftp -n < ftp.txt に変えたら無事に実行できました。ありがとうございました。

うぃんどさんのコメント
最後の部分で間違えてました。すみません。

ruijioさんのコメント
了解しましたありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ