windowsbatch-fileftpmget

How to use mget to ftp files containing specific string?


I am using mget to retrieve files from a remote server to local directory in Windows.

lcd C:\E920_1\autopkg\saveE1logafterDir\serverlog 
mget /slot/ems2576/appmgr/jdedwards/e920/6210/log/jde_*.log 

Now, I wish to add additional step to retrieve out of this list, only the files which contains the word "PACKAGE BUILD" inside it.

How do I accomplish it?


Solution

  • It's not possible. FTP protocol does not have an API to find files by their contents.
    See also Search Within Files On Remote FTP Site.

    So any implementation you will use will have to download all log files and search their contents locally.

    In a batch file, you can use findstr command for that:
    Batch file to search a keyword in all files of a directory


    You may have a different way of accessing the server files. For example, if you have a (SSH) shell access, you can search the files directly on the server. But that's a completely different topic.