バッチ処理でデータを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で質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Excel(エクセル) パスワード付きExcelブックについて 4 2022/06/02 21:34
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Windows 10 【Windowsのquery=user:●●;date:先週から;ファイル操作ログの該 1 2023/05/23 18:45
- その他(プログラミング・Web制作) wordpress 管理画面にログインについて(ftpファイル抹消してしまう) 2 2023/02/06 19:45
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
ftpコマンドで複数のファイルを移動させたい
その他(プログラミング・Web制作)
-
renameコマンドについて
その他(プログラミング・Web制作)
-
FTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?
その他(プログラミング・Web制作)
-
-
4
ftpのmgetコマンドの自分の格納場所の指定方法は?
Windows Me・NT・2000
-
5
シェルスクリプトでFTPの実行結果を取得するには
その他(プログラミング・Web制作)
-
6
FTPで書き込み中のファイルの完了を知りたい
C言語・C++・C#
-
7
FTPの送信結果を検知したい
その他(プログラミング・Web制作)
-
8
ftpでファイルを転送時、タイムスタンプを維持したい
UNIX・Linux
-
9
ftpサーバー 接続できない
Windows 10
-
10
FTPのバッチファイルで日付を引数で与えたい
UNIX・Linux
-
11
FTPに接続し、 あるフォルダ内の一覧を取得する、、、という操作を Windows10のコマンドプロ
Windows 10
-
12
ftpでのフォルダごとの転送はできますか?
その他(OS)
-
13
PL/SQLでSPOOLさせたいのですが、可能でしょうか?
Oracle
-
14
FTPで存在しないファイルをGETしたときの動作について
その他(コンピューター・テクノロジー)
-
15
Data Pump で大量データインポートの際のUNDO表領域、TEMP表領域不足エラー解消法のついて
Oracle
-
16
ftpコマンドのput,mputの上書きしない方法について
サーバー
-
17
ftpコマンドの戻り値をチェックしたい
その他(プログラミング・Web制作)
-
18
FTPコマンド mgetでとまってしまう
IT・エンジニアリング
-
19
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
20
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
word VBA ファイル名 保存
-
[DOS] コピー先に同じファイル...
-
コマンドプロンプトで変数が数...
-
バッチファイルで、iniファイル...
-
DOSのバッチ作成について‐FORの...
-
コマンドプロンプトでファイル...
-
フォルダ内の更新日時が一番新...
-
access,vbaでフォルダ内のファ...
-
ファイル名を該当フォルダ内か...
-
バッチファイルで、ファイル名...
-
VB6.0 Dir関数について
-
【DOSバッチ開発】末尾のタブの...
-
バッチ処理で16進数でファイル...
-
aタグのhrefにネットワークパス...
-
サブフォルダからファイルをコ...
-
ファイルのコピー
-
ftp処理でmove(移動)を行いたい
-
[VBScript]csrss.exeメモリリーク
-
ファイル名に ” を使うと エク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
バッチコマンドでファイル名の...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
フォルダ内の更新日時が一番新...
-
ftp処理でmove(移動)を行いたい
-
ExcelVBAのDirでスペース含むフ...
-
.batでファイル名から抽出して...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
Windowsコマンドプロンプトで、...
-
【DOSバッチ開発】末尾のタブの...
-
word VBA ファイル名 保存
-
【vbs】ファイル名の検索と該当...
-
コマンドプロンプトまたはpower...
-
ファイル名を該当フォルダ内か...
-
バッチ処理で16進数でファイル...
-
スタートアップのファイルをバ...
おすすめ情報