• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最新の更新履歴のファイルだけを送付)

ファイル転送のための最新更新履歴の送付方法

このQ&Aのポイント
  • Windows上で生成したファイルを定期的にLINUXサーバーに転送する際、最新の更新履歴のファイルだけを送付する方法について教えてください。
  • 現在は、タスクスケジューラーに登録したバッチファイルで、全てのデータを送付してしまっています。
  • 1分ごとに新しいファイルが生成されるので、最新の更新履歴のファイルだけを送付する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • freetaka
  • ベストアンサー率53% (106/197)
回答No.2

簡単にやるなら c:\hpdata\old_data のようにフォルダを作成しておき サーバに送った後のファイルを moveして退避しておくという手もあります ftp -s:ftpcmd.txt move *.csv 作成したフォルダのパス を記述という感じで

tajix14
質問者

お礼

ありがとうございます。 PHPだと、execで下記のようにディレクトリの中の最新のものを拾うことが可能です。 同じような関数はやはりないのでしょうか? <?php exec ('dir /b /o-d img\*.jpg', $output); print "<img src=./img/$output[0]>"; ?>

その他の回答 (4)

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.5

最新の意味が私と違うと思うのです。 最新というのは10年前でも更新されていなければ最新ですよね。 だから更新が1分前からされているかを管理しなければどうしようもないと思います。

tajix14
質問者

お礼

ありがとうございます。 PHPの場合、更新されたタイムスタンプを見に行ってくれるため それが10分前でもまたは何年前であっても、「ディレクトリの中の 最新のもの」を抽出することが可能です。 今回の件については私がwindowsの関数を知らないだけと思っていました。 やはり、PHPのような都合のいい関数はなさそうですね。 freetaka さんからご提案のあったディレクトリへの移動という形で 対応したいと思います。 どうもありがとうございました。

  • freetaka
  • ベストアンサー率53% (106/197)
回答No.4

こちらでテストした時のipのままなので ip部分は修正して使用してみてください

  • freetaka
  • ベストアンサー率53% (106/197)
回答No.3

こんな感じで dirコマンドの内容からひろった情報を利用して ftpcmd.txtファイルを生成しftpコマンドで利用なら なんとかいけそうですがどうでしょう set wfile=ftpcmd.txt for /F "tokens=1* delims=" %%s in ('dir /b /O:D c:\hpdata\*.csv') do set fname=%%s echo open 192.168.0.1 > %wfile% echo manage >> %wfile% echo manage >> %wfile% echo put c:\hpdata\%fname% >> %wfile% ftp -s:%wfile%

tajix14
質問者

お礼

ありがとうございます。 さっそく、下記のように試してみたのですがなぜかうまくいきませんでした。 set wfile=ftpcmd20.txt for /F "tokens=1* delims=" %%s in ('dir /b /O:D c:\hpdata\*.jpg') do set fname=%%s echo open 192.168.100.105 user pass > %wfile% echo manage >> %wfile% echo manage >> %wfile% echo put c:\hpdata\%fname% >> %wfile% ftp -s:%wfile% やはり、PHPのような都合のいい関数はなさそうですね。 freetaka さんからご提案のあったディレクトリへの移動という形で 対応したいと思います。 どうもありがとうございました。

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

当たり前ですが最新であることをどこかに記録しなければだめですよね。 10年前の物が最新かもしれなし、10秒前の物が最新かもしれないし。

tajix14
質問者

お礼

ありがとうございます。 PHPだと、execで下記のようにディレクトリの中の最新のものを拾うことが可能です。 同じような関数はやはりないのでしょうか? <?php exec ('dir /b /o-d img\*.jpg', $output); print "<img src=./img/$output[0]>"; ?>

関連するQ&A