iT邦幫忙

0

在 dos 指令下執行 網頁的輸出結果顯示在螢幕上為html檔如要寫入disk 要何解 ?

看更多先前的討論...收起先前的討論...
cd \program files\libwww
loadtofile http://las.pfeg.noaa.gov/OceanWatch-bin/LASserver.pl?xml=%3C%3Fxml%20version%3D%221%2E0%22%3F%3E%3ClasRequest%20href%3D%22file%3Alas%2Exml%22%3E%3Clink%20match%3D%22%2Flasdata%2Foperations%2Fshade%22/%3E%3Cproperties%3E%3Cferret%3E%3Cformat%3Eshade%3C%2Fformat%3E%3Csize%3E%2E35%3C%2Fsize%3E%3Cuse_ref_map%3Efalse%3C%2Fuse_ref_map%3E%3Cscript_prefix%3Enolabelnoaspect%3C%2Fscript_prefix%3E%3C%2Fferret%3E%3C%2Fproperties%3E%3Cargs%3E%3Clink%20match%3D%22%2Flasdata%2Fdatasets%2FAG%2Fvariables%2Fssta8day%22%2F%3E%3Cregion%3E%3Crange%20type%3D%22x%22%20low%3D%22114%22%20high%3D%22128%22/%3E%3Crange%20type%3D%22y%22%20low%3D%2216%22%20high%3D%2230%22%2F%3E%3Cpoint%20type%3D%22t%22%20v%3D%2216%2DJUN%2D2009%2000%3A00%22%2F%3E%3C%2Fregion%3E%3C%2Fargs%3E%3C%2FlasRequest%3E -o filename.txt
以上指令都在DOS視窗下執行
不需要Chrome了
最後面的 -o 是固定參數
filename.txt 則是可以視需要命名檔案(例:20090914.xml...)
y1234tw iT邦新手 4 級 ‧ 2009-09-15 18:25:40 檢舉
謝謝回覆, 測試ok, 但是在此例中顯示圖是 .html檔, 好像如果我們改用 其他如 .gif .jpg 它可以做完但是產生的檔案無法用; 不知 .html圖檔要轉成其它圖檔要用何轉檔, 一如你上次說其實他有一.gif 檔;在產生時抓的到那個檔嗎 ?
執行
loadtofile http://las.pfeg.noaa.gov:80/OceanWatch-output/6936a4b246cc4ae545e6f9d011e5fcd6.gif -o mypic.gif
後會得到 mypic.gif
可以被打開檢視
「無法用」是什麼情形?不了
y1234tw iT邦新手 4 級 ‧ 2009-09-16 10:36:10 檢舉
真是謝謝 守護神 你的幫助;我不太會用這個系統,1.不太會給分 2.給了分就變已解決 希勿介意, 很高興有你的存在
回到問題: 因你知道6936a4b246cc4ae545e6f9d011e5fcd6.gif 是隨機產生的,我不知你如何抓到此名, 所以我寫不出.GIF 請賜教
若你執行上面那段指令
就會得到 filename.txt
檢視 filename.txt 的內容
就會看到 6936a4b246cc4ae545e6f9d011e5fcd6.gif 的檔名
y1234tw iT邦新手 4 級 ‧ 2009-09-16 12:30:45 檢舉
1. 我想貼圖給你看但是不知如何貼
2. This file already exists – replace existence files (Y/N)? 回 Y
Can’t open output file
第一次執行 在該 DIRECTORY 執行會TIMEOUT, 但有產生一個空的檔案
Request timeout: server did not respond
Fatal Error: CSO-server replies

我剛做過一次, 有同樣問題, 所以我把 filename.txt 刪掉再重開機再執行還是相同錯誤, 我發現是否 dos 下有一些condition Flag 要Setoff, 否則好像上一個錯誤會影響下一個.另外 昨天我想把 輸出檔寫入其他 directory 也發生同樣錯誤發現一個奇怪的小問題 : (因為不太可能將輸出檔放在執行檔dir下)
萬不得已當然也可以用move
昨天把 filename 設定為 d:\oceanwatch\TI08\16JUN2009TI08.HTML
This file already exists – replace existence files (Y/N)? 回 Y
Can’t open output file
第一次執行 在該 DIRECTORY 執行會TIMEOUT, 但有產生一個空的檔案
Request timeout: server did not respond
Fatal Error: CSO-server replies
將該空檔刪掉, 再做一次, 就會有 file already exists, 既使回 Y,仍就無法執行
-o 後面可以是路徑加檔名,例如:C:\20090916\out\filename.txt
如果同一個檔名執行第二次會問你是否要 replace
我剛剛有再試著執行上面指令
也有出現
Request timout: server did not respond
Fatal Error: CSO-server replies
的錯誤訊息
不過我的判斷那是「伺服器」端的原因
不是我們本機端的問題
多試幾次之後
就得到正常結果了(過程沒有出現錯誤訊息)
又試了一下
這次試了十次才成功
成功的畫面如下
2009/09/16 星期三 13:17:19.09>loadtofile http://las.pfeg.noaa.gov/OceanWatch-bin
/LASserver.pl?xml=%3C%3Fxml%20version%3D%221%2E0%22%3F
....
22%20v%3D%2216%2DJUN%2D2009%2000%3A00%22%2F%3E%3C%2Fregion%3E%3C%2Fargs%3E%3C%2F
lasRequest%3E -o filename.txt
This file already exists - replace existing file? (y/n) y
Looking up las.pfeg.noaa.gov
Looking up las.pfeg.noaa.gov
Contacting las.pfeg.noaa.gov
Reading...
Done!
y1234tw iT邦新手 4 級 ‧ 2009-09-16 14:31:57 檢舉
感謝賜教, 我想那我得用個loop, 當even flag error 時要一直retry,直到ok,
請問DOS中用那個表示ERROR FLAG ? IF errorlevell <>0 goto loop (這種error 不知數是否算是 errorlevell ? 因不知dos 有幾種 errorlevel
如上例, 如果日期部份要變成 variable, 用一個 text 檔看應該用逗點,還是linefeed 區分讀入,輸入日期若是用16JUN2009, 我要在網頁參數上把他串成16%2DJUN%2D2009,
在DOS下可以用SUBSTR(IDATE,1,2)+"%2d"+SUBSTR(IDAATE,3,3)+"%2d"+SUBSTR(IDATE,6,4)表示嗎? 另外若寫入的DIRECTORY 與檔名部份要變成 16JUN2009TI08.GIF
寫入DIRECTORY D:\OCEANWATCH\TI08 要多串個TI008 這個變數 DOS中該怎麼寫較好
所以我的PATH要變成 "D:\OCEANWATCH\"+VAR ?? 檔名要變成IDATE+"TI08"+".GIF"
希望有空時代解惑, 感恩囉
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

10
海綿寶寶
iT邦大神 1 級 ‧ 2009-09-11 20:24:20
最佳解答

一般簡單的網頁或圖片
可以使用Loadtofile取得
下載後安裝
就可以使用loadtofile.exe

使用範例如下:

&lt;pre class="c" name="code">
loadtofile http://ithelp.ithome.com.tw -o ithelp.html
loadtofile http://ithelp.ithome.com.tw/images/logo.png -o logo.png

然而我看您題目中所給的參數
會得到

&lt;pre class="c" name="code">
http://las.pfeg.noaa.gov:80/OceanWatch-output/6936a4b246cc4ae545e6f9d011e5fcd6.gif

的圖片網址
看起來像是"變動"(不像Logo那種固定的網址)

雖然可以用

&lt;pre class="c" name="code">
loadtofile http://las.pfeg.noaa.gov:80/OceanWatch-output/6936a4b246cc4ae545e6f9d011e5fcd6.gif -o mypic.gif

的方式取得圖片

不過如果要達到您百分之百的需求
恐怕還是得寫點程式

看更多先前的回應...收起先前的回應...
y1234tw iT邦新手 4 級 ‧ 2009-09-11 21:00:07 檢舉

謝謝快速回應,因要趕出門,先簡覆, (1) 對,該圖是每次執行時產生,有圖檔名.gif在對方網站上,你說的軟體已下載,週一再試 (2)你在上面有直接用到那產生圖檔的名字,請問如何取得, 如果能當參數般傳回就可代入你上面那指令儲存 rihgt ?
(3) 我記得以前dos可以指向 crt or Dsk output,此例中, 直接要它寫入disk 不成嗎, (4)當然實在不行寫程式要看寫那一種, 其實都ok, 請指點一二,
祝週末愉快

fillano iT邦超人 1 級 ‧ 2009-09-11 21:10:32 檢舉

這個好像wget...

(2)以您的問題所附參數去執行,得到的是一個簡單網頁,裡面只有一張圖,圖檔名字是我從原始檔中複製出來的
(3)可以但不需要,loadtofile最後的參數就是寫成檔案,如
-o good.html
-o out\best.gif

祝好運

fillano大大
loadtofile與wget功能上類似
wget師出GNU

loadtofile乃W3C libwww眾多tools其中一小隻
報告完畢
週末愉快

我要發表回答

立即登入回答