HTTP リンクから ZIP ファイルをプルするZIP ファイルを公開しており、それらをプログラムでプルし、JSL を使用して PC に保存したいと考えています。 存在するファイルの数は事前にはわかりません。
これはJSLでも可能でしょうか?

Re: HTTP リンクから ZIP ファイルをプルするそこから何か得られると嬉しいですね! 速度の点で、このパターンは改善できると確信しています。 おそらく、リンクが数千しかないディレクトリでは違いはありませんが、len(1) 部分はリンク以外のテキストをより速くスキップできる可能性があります。 また、リンクのパターンもより柔軟なものになるとよいでしょう。
@ブライアンブーン@ErnestPasour @paul_vezzetti
Re: HTTP リンクから ZIP ファイルをプルするCraig さん、包括的な回答をありがとうございました。 両方の提案の要素を取り入れて、現在および将来のニーズに合わせて汎用関数にマージします。
HTTP ソースからリンクを見つけるには REGEXP を使用する必要があることはわかっていますが、zip 部分には '<< saveLink' 関数を期待していました。 
ただし、これはまったく問題なく機能します。
素晴らしい答え
Re: HTTP リンクから ZIP ファイルをプルするあるいは、これはあなたが求めていることに近いかもしれません:
path="https://www.vsp.virginia.gov/downloads/"; // a page with an index of files. Yours may be different format, adjust pattern below.
html = loadtextfile(path); // get the HTML text so we can scrape the links
// somewhat custom pattern for scraping the links, may be specific to this page
urls = {}; // this list will collect the urls
rc = patmatch(html,
patpos(0)+ // make sure the pattern matches from the start
patrepeat( // this is the loop that extracts the urls from the html
(
// the urls look like <A href="https://community.jmp.com/2017%20Virginia%20Firearms%20Dealers%20Procedrures%20Manual.pdf" target="_blank">
// and we want just the part between the quotation marks. Quickly scan forward (patBreak)
// for a < then see if it matches. >>url grabs the text between quotation marks.
(patbreak("<") + "</A><A href="\!""" target="_blank" rel="nofollow noopener noreferrer">> url + pattest(insertinto(urls,url);1))
| // OR
patlen(1) // skip forward one character
)
+
patfence() // fence off the successfully matched text. There is no need to backtrack if something goes wrong.
) +
patrepeat(patnotany("<"),0) + // any trailing bits of html are consumed here
patrpos(0) // make sure the pattern matches to the end
);
if(rc==0, throw("pattern did not match everything"));
show(nitems(urls),urls[6]); // pick item 6. You'll have a different strategy.
fullpath = path||regex(urls[6],"%20"," ",GLOBALREPLACE);// minimal effort to fix up the url, might need more work
pdfblob = loadtextfile(fullpath,blob); // download item 6, it is a pdf when this was written...
savetextfile("$temp/example.pdf",pdfblob); // save it somewhere</A>Re: HTTP リンクから ZIP ファイルをプルする
zipファイルから@ウィルカププレゼンテーション
za=open("https://community.jmp.com/kvoqx44227/attachments/kvoqx44227/virtual-jug/12/1/VJUG%20July%202015.zip","zip");
zipfiles=za<
注意すべきいくつかのこと
- ファイルは一時ディレクトリにダウンロードされます。 「zip」オプションを開くと、zip アーカイブ オブジェクトが返されます。
- <
- JMP テーブルのようなバイナリ データを読み取るために、zip アーカイブで BLOB 形式を使用できます。
- 3 行目は、2 番目の引数を使用して、BLOB が JMP データ テーブルであることを open に伝えます。
- スクリプト全体を再実行する場合は、za 変数をクリアする必要があります。 zip アーカイブ オブジェクトは、一時ディレクトリ内のファイルが再利用されないようにします。
- blob で loadtextfile/savetextfile を使用して、zip ファイルを選択した場所にダウンロードし (完了したら削除し)、zip アーカイブを使用してそのファイルを処理できます。
- アーカイブディレクトリの4番目の項目がJMPデータテーブルであることをすでに確認しました