absmiddle 使用經驗之一


[解說] flyfox@k120sun1.oes.itri.org.tw (衡山飛狐): 常有人問這樣一個問題:『為什麼我已設定了 New Message Limit 的數目,VA 還是 會抓超過我定的數目呢?』 通常您得到的回答是:『那個選項是設定你第一次訂閱該討論區的上限文章數,不是 你每次連線抓信的文章數!』 然而,假如您不是那麼在意是否每個討論區的新信件都非得要抓回來細細詳讀,或者 是您對某些討論區是斷斷續續的在看,並不需要接續上次抓信的進度而只想看最近的 討論,VA 本身可能沒法那麼滿足您的需要,或許是 VA 自恃抓信速度睥睨群雄而因此 少了這項功能吧?古法云:『窮則變,變則通』這個方法您可試試。另 earthian@ms2.hinet.net 亦為 VA 寫了一個 RVP (Reset VA Point) 的程式,您仍可 在 ftp://140.118.29.110 /upload/rvp.zip 115818 bytes 看到它,如果不想像我用 這麼笨的方法,rvp 可讓你更加方便。 假設您對某些 NewsGroup 只想看最新的 50 封討論信;Admin|Comms Options|Usenet |News message limit "50" 我粗略的把討論區 (NewsGroup) 分為新信一封不漏的抓 與每次只要抓最新 50 封討論信兩種 (當然還可再加斷斷續續看的那種 NewsGroup)。 在 VA 有一個 Confs.sel,先 Copy 備份成另一個檔名如 Confs.000 然後再編輯一個 文字檔,其內容則為只抓 50 封討論信的 NewsGroup,如以下形式: tw.bbs.comp.hardware 0000000000 f tw.bbs.comp.modem 0000000000 f tw.bbs.comp.www 0000000000 f tw.bbs.lang.english 0000000000 f tw.bbs.rec.car 0000000000 f tw.bbs.rec.palmardrama 0000000000 f tw.bbs.rec.pcgame 0000000000 f tw.bbs.sci.sex 0000000000 f tw.bbs.sports.baseball 0000000000 f tw.bbs.sports.baseball.dragons 0000000000 f tw.bbs.soc.politics 0000000000 f 將其命名為 limit.txt。寫一個批次檔,內容為 (最好寫完整路徑): @echo off type c:\internet\va352\fox\confs.000 > c:\internet\va352\fox\confs.001 type c:\internet\va352\fox\limit.txt >> c:\internet\va352\fox\confs.001 type c:\internet\va352\fox\confs.001 |sort> c:\internet\va352\fox\confs.sel del c:\internet\va352\fox\confs.001 將其命名為 Confs.bat 將只抓訂定數目的 NewsGroup 加到 Confs.sel 中並 Sort 輸出結果 再寫一個批次檔,內容為 (最好寫完整路徑): 此批次檔要用到 Unix for 95 的東東 (Grep & Cut) (註一) @echo off grep -v tw.bbs.comp.www c:\internet\va352\fox\confs.sel | cut -c 33-132 > c:\internet\va352\fox\confs.gp1 grep -v tw.bbs.rec.car c:\internet\va352\fox\confs.gp1 | cut -c 33-132 > c:\internet\va352\fox\confs.gp2 grep -v tw.bbs.rec.palmardrama c:\internet\va352\fox\confs.gp2 | cut -c 33-132 > c:\internet\va352\fox\confs.gp1 grep -v tw.bbs.rec.pcgame c:\internet\va352\fox\confs.gp1 | cut -c 33-132 > c:\internet\va352\fox\confs.gp2 grep -v tw.bbs.sci.sex c:\internet\va352\fox\confs.gp2 | cut -c 33-132 > c:\internet\va352\fox\confs.gp1 grep -v tw.bbs.sports.baseball c:\internet\va352\fox\confs.gp1 | cut -c 33-132 > c:\internet\va352\fox\confs.gp2 grep -v tw.bbs.soc.politics c:\internet\va352\fox\confs.gp2 | cut -c 33-132 > c:\internet\va352\fox\confs.gp1 grep -v tw.bbs.comp.hardware c:\internet\va352\fox\confs.gp1 | cut -c 33-132 > c:\internet\va352\fox\confs.gp2 grep -v tw.bbs.lang.english c:\internet\va352\fox\confs.gp2 | cut -c 33-132 > c:\internet\va352\fox\confs.gp1 grep -v tw.bbs.comp.modem c:\internet\va352\fox\confs.gp1 | cut -c 33-132 > c:\internet\va352\fox\confs.000 del c:\internet\va352\foxi\confs.gp1 del c:\internet\va352\fox\confs.gp2 將其命名為 ReConfs.bat 如您 limit.txt 的 NewsGroup 字串不同請再多加幾行 grep -v ... 命令並請注意寫法。 grep -v:顯示與所給樣本不符的所有內容行 cut -c 33-132:截掉輸出結果 "c:\internet\va352\fox\confs.???:" 更新抓信後的 Confs.000 OK... 只要您每次要連線抓信前執行 Confs.bat 抓完信之後執行 ReConfs.bat 即可 達到對特定 NewsGroup 只抓您設定的文章數。看起來好像挺麻煩的:< 不過總比每次 去調那個 Pointer 好多了。如果您每個 NewsGroup 都只要抓設定的文章數... 那就 簡單太多了,如果您又有要相隔很久才關心一下的討論區,那又得複雜一點,再加一 個內容為這些 NewsGroup 的文字檔,兩個批次檔外還要再加一個 (還原那個也要再加 入再增加的 NewsGroup)。 (註一) Unix for 95 不含 grep 程式。 Unix for 95:unix95.5.zip GREP32 for WIN32:grep3211.zip ●本文之 Virtual Access 版本為 32-bit 3.52 build 159c。 ●連線完一定要更新 Confs.000 (run ReConfs.bat) 這是很重要的!!! ●如您能配合其它 Schedule Promgram 搭配使用會更方便。 我 Run 的是 Norton Schedule Promgram,每天定在 VA 排定的撥號抓 News 之前 執行 Confs.bat,斷線後 (預估時間) 執行 ReConfs.bat。 ●若使用一段時間欲加入新的 NewsGroup,則必須在 Confs.000 及 Confs.lim 適當 加入 (注意名稱前後排序),切勿再用往常加入新討論群組的方式。 ●較冷門的 NewsGroup 可採每週只抓一、兩次,不過要再增加另一個文字檔放入這些 NewsGroup 及需要另一個批次檔 (ex. Confs2.bat)。
上一層目錄