
バッチ処理でデータをftp受信しています。
---------------------------
ユーザ名
パスワード
prompt
mget abc*.log
mdelete abc*.log
bye
---------------------------
このようなコマンドを行っています。
ftpサーバにはさまざまなファイルが随時生成されます。
この処理では定期的に
abcで始まる全てのログファイルをgetし、
abcで始まる全てのログファイルをdeleteしています。
ところが、abcで始まるファイルの生成がランダムのため、
偶然mgetが終わった後でファイルが生成され、
mdeleteを行うと、getしていないファイルまで削除される恐れがあるのです。
そのため、一件ずつ移動を行いたいのですが、
調べてもmoveのようなコマンドがftpで見当たらないのですが
なにか、moveに置き換わるような処理はないでしょうか?
*windows同士の通信です。
No.3ベストアンサー
- 回答日時:
ftpはあくまでファイル転送プロトコルなのでmoveなどは無いです。
こんな感じでバッチファイルで。テストはしていません。
set HOST=ホスト名
set USER=ユーザ名
set PASS=パスワード
echo %USER%>tmp1
echo %PASS%>>tmp1
echo ls abc*.log tmp2>>tmp1
echo quit>>tmp1
ftp -s:tmp1 %HOST%
echo %USER%>tmp1
echo %PASS%>>tmp1
for /f %%F in (tmp2) do (echo get %%F&echo delete %%F)>>tmp1
echo quit>>tmp1
ftp -s:tmp1 %HOST%
別の方法として、Windowsホストのftpサーバーって使ったこと無いのでわかりませんが、もしかすると
ren abc*.log abc*.tmp
もしくは
quote site ren abc*.log abc*.tmp
が効けば、後は
prompt
mget abc*.tmp
mdelete abc*.tmp
受信後に、ren abc*.tmp abc*.log で名前を戻す。
あえて名称を変える処理も思いつきませんでした。
そういう方法もあるのですね!
目からうろこです。早速試してみます
最近は便利な機能が最初からセットされているものが増えているため、
こういった、「こうしてはどうか?」といった
考え方がなかなか出来なくなっている気がします。
丁寧なご回答ありがとうございました(^^)。

No.2
- 回答日時:
はじめまして。
以下の様な流れではだめでしょうか。
1.ftp接続し、対象ファイルの一覧を取得する。
※一時ファイルに保存する。
2.ファイル一覧のファイルをget,deleteする。
※一時ファイルの一覧について処理を行う。
3.1.2.を繰り返す。
これであれば、サーバへの接続方法はftpだけで対応ができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ftpコマンドで複数のファイルを移動させたい
その他(プログラミング・Web制作)
-
renameコマンドについて
その他(プログラミング・Web制作)
-
ftpのmgetコマンドの自分の格納場所の指定方法は?
Windows Me・NT・2000
-
-
4
FTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?
その他(プログラミング・Web制作)
-
5
FTPコマンドのCDについて
UNIX・Linux
-
6
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
7
ftpコマンドのput,mputの上書きしない方法について
サーバー
-
8
FTPに接続し、 あるフォルダ内の一覧を取得する、、、という操作を Windows10のコマンドプロ
Windows 10
-
9
ftp 接続先のフォルダのファイル数を知りたい
その他(ソフトウェア)
-
10
FTPでリモートのファイル一覧取得
その他(プログラミング・Web制作)
-
11
FTPエラー425
その他(コンピューター・テクノロジー)
-
12
FTPでのGET
その他(ソフトウェア)
-
13
del で確認なしで削除した
Windows Me・NT・2000
-
14
シェルスクリプトでFTPの実行結果を取得するには
その他(プログラミング・Web制作)
-
15
ftpコマンドバッチファイルのリダイレクト結果
その他(プログラミング・Web制作)
-
16
FTPでファイルがダウンロードできない
UNIX・Linux
-
17
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
-
18
ftpサーバー 接続できない
Windows 10
-
19
FTPの送信結果を検知したい
その他(プログラミング・Web制作)
-
20
ORA-01013のエラーについて経験のある方お願いします。
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
ExcelVBAのDirでスペース含むフ...
-
バッチファイルで、iniファイル...
-
バッチファイルで同一フォルダ...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
バッチプログラム 曖昧検索に...
-
【DOSバッチ開発】末尾のタブの...
-
ftp処理でmove(移動)を行いたい
-
ファイル名の頭5桁と同名のフォ...
-
スタートアップのファイルをバ...
-
ファイル名に ” を使うと エク...
-
フォルダ内の更新日時が一番新...
-
コマンドプロンプトでのCSV...
-
Windowsコマンドプロンプトで、...
-
ファイル名を変更して移動させ...
-
バッチにて複数のcsvファイルを...
-
サブフォルダからファイルをコ...
-
.batでファイル名から抽出して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
[DOS] コピー先に同じファイル...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
ftp処理でmove(移動)を行いたい
-
コマンドプロンプトで変数が数...
-
ExcelVBAのDirでスペース含むフ...
-
ファイル名の頭5桁と同名のフォ...
-
フォルダ内の更新日時が一番新...
-
サブフォルダからファイルをコ...
-
バッチコマンドでファイル名の...
-
access,vbaでフォルダ内のファ...
-
ファイル名を一括してリネーム...
-
スタートアップのファイルをバ...
-
VBA GetAttrについて教えてくだ...
-
aタグのhrefにネットワークパス...
-
【DOSバッチ開発】末尾のタブの...
-
.batでファイル名から抽出して...
-
word VBA ファイル名 保存
-
Windowsコマンドプロンプトで、...
おすすめ情報