史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   請問使用文字文件撰寫指令檔應該如何寫呢? (http://forum.slime.com.tw/thread260217.html)

888888 2010-07-02 03:44 PM

請問使用文字文件撰寫指令檔應該如何寫呢?
 
各位老師您好,小的想要請教幾個問題:

1.使用文字文件寫一個命令執行檔(假設名稱和檔名叫做a.exe),點a.exe就能執行b程式直到b程式安裝結束,接著執行c.exe直到結束,中間的過程都會有"下一步"或是要點同意條款,最後要點不要重新啟動,再按完成才是結束整個安裝程序。請問這樣的指令應該要怎麼寫呢?

2.使用文字文件寫的1.exe檔案開啟火狐瀏覽器並連結到數個需要登入的特定網站(要被網站有認定經過或開啟),之後自動關閉使用1.exe檔開啟的網站。之前有在別的網站請教過這個問題,但是沒有得到適當的回應,結果還是不知道這樣的命令程式應該要怎麼寫,只好來這裡問了!


PS.請不要叫我連結到某網站下載不明程式...謝謝...

cwvdavid 2010-07-03 08:56 AM

第一個問題

第一種:
以程式開發者而言, 透過 VB, Delphi, .Net 等開發工具, 可以建立【安裝程式】,
但這種需要有程式開發經驗

第二種:
安裝程式產生器, 藉由別人寫好的軟體, 以簡單的操作方式, 將你的"一堆檔案" 包起來...
做成一個執行檔
(PS. 目前知名的 winRar 壓縮軟體也有這樣子的基本功能...)

=====================================

第二個問題,
除了安裝開發工具...寫程式之外...(程式語言為...VB, Delphi, Java, .net.....)
你唯一的方式應該就剩下 VBScript
(xxx.vbs)



以上所提的, 除了 xxx.vbs, 其他都是必須要安裝軟體的

ppp0600 2010-07-03 07:30 PM

用文字檔應該很難達到一些要求,
簡單批次檔是還勉強,第二項應該就難了
但是批次檔需要某個軟體(有這種軟體)轉成exe
這又不符合你的要求,所以基本上應該是無解

pedrowong 2010-07-03 08:50 PM

引用:

作者: ppp0600 (文章 2247867)
用文字檔應該很難達到一些要求,
簡單批次檔是還勉強,第二項應該就難了
但是批次檔需要某個軟體(有這種軟體)轉成exe
這又不符合你的要求,所以基本上應該是無解


Pecmd.exe(WinPE Commander) 可以滿足需要,不過該程式不是標準 DOS指令
(http://bbs.wuyou.com/attachment.php?aid=71491)
最好將整片 XPE 光碟ISO檔下載下來,好好研究整個開機控制是如何寫出來的。
否則功能太過強大,無法想像程式如何運作。


批次檔轉成exe,可以下載 Bat_To_Exe_Converter.exe 來轉檔。
(www.f2ko.de)

888888 2010-07-04 10:12 PM

引用:

作者: ppp0600 (文章 2247867)
用文字檔應該很難達到一些要求,
簡單批次檔是還勉強,第二項應該就難了
但是批次檔需要某個軟體(有這種軟體)轉成exe
這又不符合你的要求,所以基本上應該是無解

文字文件的檔名改成.exe就是執行檔 了...

cwvdavid 2010-07-05 02:39 AM

引用:

作者: 888888 (文章 2247996)
文字文件的檔名改成.exe就是執行檔 了...

如果你的文字文件, 改名成 .exe 之後, 可以執行的話.....:on_72:


那麼~ 你真的很幸運~~ :on_02:

ccutmis 2010-07-05 04:59 PM

引用:

作者: 888888 (文章 2247737)
各位老師您好,小的想要請教幾個問題:

1.使用文字文件寫一個命令執行檔(假設名稱和檔名叫做a.exe),點a.exe就能執行b程式直到b程式安裝結束,接著執行c.exe直到結束,中間的過程都會有"下一步"或是要點同意條款,最後要點不要重新啟動,再按完成才是結束整個安裝程序。請問這樣的指令應該要怎麼寫呢?

2.使用文字文件寫的1.exe檔案開啟火狐瀏覽器並連結到數個需要登入的特定網站(要被網站有認定經過或開啟),之後自動關閉使用1.exe檔開啟的網站。之前有在別的網站請教過這個問題,但是沒有得到適當的回應,結果還是不知道這樣的命令程式應該要怎麼寫,只好來這裡問了!


PS.請不要叫我連結到某網站下載不明程式...謝謝...

基本上確實是無解沒錯(或者說是難解),
但如果可以忽略PS的話,倒是可以試試這個軟體: Autoit3
有興趣請到 Google 搜尋一下,直接在官網下載軟體就可以了(它是開源軟件,所以是不用錢的)。Autoit3可以用在很多領域上,一般比較常見的是MiS人員拿它來作無人值守軟體安裝或是拿來寫線上遊戲的外掛~不錯用~!

問題一:可以參考官網上的WinRAR全自動安裝的教學...依樣畫葫蘆即可。
問題二:會用到Autoit3裡面的IE模組,比較複雜一點...若您接受用Autoit3的方案的話再來討論嘍~

888888 2010-07-05 09:23 PM

引用:

作者: cwvdavid (文章 2248043)
如果你的文字文件, 改名成 .exe 之後, 可以執行的話.....:on_72:


那麼~ 你真的很幸運~~ :on_02:

我是用XP系統,不知道是不是其他系統不適用?

PS.我看過不只一個老師這樣寫命令檔了

cwvdavid 2010-07-05 09:33 PM

由於我不知道你那邊的環境是什麼, 也不曉得你那邊的環境是否有安裝什麼軟體,

因此, 如果你的電腦也可以跑,

那麼, 我想麻煩你找一個最最最簡單的 文字文件(避免機密外流)
並且張貼上來,


(我把xxx.vbs, xxx.bat 改名為exe之後都是不能執行的...)


我很好奇是什麼樣的文件, 直接改名為 .exe之後是可以執行的

麻煩你了 :on_28::on_28:

ccutmis 2010-07-06 01:45 AM

引用:

作者: 888888 (文章 2248124)
我是用XP系統,不知道是不是其他系統不適用?

PS.我看過不只一個老師這樣寫命令檔了

不是不能用Script來寫...微軟為了拉攏MIS的心,提供了~"WSH"這個腳本語言~
您可以參考...
http://technet.microsoft.com/zh-tw/l.../dd180729.aspx

http://technet.microsoft.com/zh-tw/l.../dd180733.aspx

您在文中所提到的兩個問題都可以用WSH搞定...用記事本編寫,附檔名是.vbs或.js (視你用VBscript或JScript撰寫而定)一開始我也寫過一些,比如說定時下載某些網頁內容,或是模擬網頁登入或是自動備份我的Mysql資料庫... 但很麻煩。
現在我都用 autoit3 了~

888888 2010-07-06 01:45 AM

引用:

作者: cwvdavid (文章 2248125)
由於我不知道你那邊的環境是什麼, 也不曉得你那邊的環境是否有安裝什麼軟體,

因此, 如果你的電腦也可以跑,

那麼, 我想麻煩你找一個最最最簡單的 文字文件(避免機密外流)
並且張貼上來,


(我把xxx.vbs, xxx.bat 改名為exe之後都是不能執行的...)


我很好奇是什麼樣的文件, 直接改名為 .exe之後是可以執行的

麻煩你了 :on_28::on_28:


xxx.vbs、xxx.bat 應該都是您安裝某軟體之後建立出來的東西,改的話檔案就不能用啦 "'@@6

我指的是:
XP桌面按右鍵,新增文字文件。
只要內容有寫對,有機會被防毒軟體判讀為病毒。(有些破解序號的檔案就是這樣寫出來的...)

樓上的回覆者有些是很厲害的老師,咱們就一起請教他們吧!

888888 2010-07-06 01:47 AM

引用:

作者: ccutmis (文章 2248156)
不是不能用Script來寫...微軟為了拉攏MIS的心,提供了~"WSH"這個腳本語言~
您可以參考...
http://technet.microsoft.com/zh-tw/l.../dd180729.aspx

http://technet.microsoft.com/zh-tw/l.../dd180733.aspx

您在文中所提到的兩個問題都可以用WSH搞定...用記事本編寫,附檔名是.vbs或.js (視你用VBscript或JScript撰寫而定)一開始我也寫過一些,比如說定時下載某些網頁內容,或是模擬網頁登入或是自動備份我的Mysql資料庫... 但很麻煩。
現在我都用 autoit3 了~

嗯,因為我對C語言不熟,所以想從最基礎的指令先入手@@"

cwvdavid 2010-07-06 11:15 AM

目前, 我手邊的xxx.vbs跟xxx.bat
除了系統軟體安裝過程中所建立的之外,

其他都是我自己寫的
例如:修改軟體註冊序號, 將2台電腦的時間進行同步設定, 拷貝資料夾等等.....

而這些也就是直接【在XP桌面按右鍵,新增文字文件。】
然後將程式碼寫完之後, 再存檔, 並改名為 xxx.vbs, 或xxx.bat


至於文字檔, 寫了某些內容之後就被防毒軟體判定為病毒,
這我也遇過, 我自已寫的的程式資料夾內, 就有3成的檔案被視為病毒....
(通常都是防毒軟體比較嚴謹, 連文字檔也一併檢查的關係)


=====================================
至於最基礎的指令...
"基礎"的定義是什麼??? 每個人的回答都不一樣

很多人會說 : C語言是所有的程式的基礎,
也有人會說 : 更難懂的組合語言, 所有的程式的基礎
當然也有人說 : 上面2種...是給專業人士學的, 我只要學VB就好

==============================================

總結:

您的問題應該是:

【我們學校的老師, 用了某一種文字語言,
只需要【在XP桌面按右鍵,新增文字文件】
然後在打一些指令, 然後再把檔名改成 .exe, 就可以執行了,
現在我需要用這種方式, 寫出能夠自動登入某個網站的程式,
以及能夠執行數個安裝檔, 並顯示授權, 最後再要求重開機 的程式



然而, 在沒辦法了解您的"基本指令需求"
甚至不知道您的老師...寫了什麼 的情形下,

實在是很難從您的角度來幫您解答...

(可能得麻煩你向老師問的更詳細一點了.....) :on_22:

ccutmis 2010-07-06 11:23 AM

引用:

作者: 888888 (文章 2248158)
嗯,因為我對C語言不熟,所以想從最基礎的指令先入手@@"

....... 基本上沒有人提到"C語言"啊~ =_="
不論是WSH或是autoit3的語法,都很類似VBScript~
再討論下去的話好像是無止盡的空談,先確定你要的是什麼?
1) 只是要解決目前遇到的問題
2) 你想學到解決目前問題的方法~
======
如果您的選擇是 1) 那就把你所說的步驟用貼圖或是完整說明給大家看~例如:

a.執行"OXOX.exe"

b.出現下列畫面
-OXOX1-------
| 請按 [下一步] |
--------------

c.出現下列畫面
-OXOX2-------
| [安裝完成] |
-------------

d.出現下列畫面
-OXOX3------
| 是否重開機? |
| [是] [否] |
--------------

如果是 2)的話,可能你要先學一下VBScript~比較實在,不然就算人家把範例寫給你,你還是不會改...

================================================
P.S:如果是用 autoit3的話,解決 1)的程式如下:

Run("OXOX.exe")
WinWaitActive("OXOX1")
Send("{ENTER}")
WinWaitActive("OXOX2")
Send("{ENTER}")
WinWaitActive("OXOX3")
Send("{TAB}{ENTER}")
Msgbox(0,"OXOX","安裝完成")

================================================
另一個範例... testIE.vbs
在桌面上新建一個文字檔,並更名為"testIE.vbs"
用記事本開啟"testIE.vbs",然後貼入下列程式碼之後存檔。再雙擊桌面上的"testIE.vbs"執行,它會自動開啟IE並鍵入wsh[enter]....這只是一個簡單的示例
基本上你可以在本機上操作的所有功能,80%都可以用WSH來達成~希望有幫助!


ie_Title = "Google"
Set oIE = WScript.CreateObject("InternetExplorer.Application")
oIE.visible = True
oIE.Navigate "http://www.google.com.tw"
oIE.MenuBar = False
oIE.width = 800
oIE.height = 400

WScript.Sleep 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate ie_Title
WScript.Sleep 1000
WshShell.SendKeys("{tab}+{tab}")
WScript.Sleep 500
WshShell.SendKeys("w")
WScript.Sleep 500
WshShell.SendKeys("s")
WScript.Sleep 500
WshShell.SendKeys("h")
WScript.Sleep 500
WshShell.SendKeys("{enter}")

888888 2010-07-06 08:50 PM

引用:

作者: cwvdavid (文章 2248170)
目前, 我手邊的xxx.vbs跟xxx.bat
除了系統軟體安裝過程中所建立的之外,

其他都是我自己寫的
例如:修改軟體註冊序號, 將2台電腦的時間進行同步設定, 拷貝資料夾等等.....

而這些也就是直接【在XP桌面按右鍵,新增文字文件。】
然後將程式碼寫完之後, 再存檔, 並改名為 xxx.vbs, 或xxx.bat


至於文字檔, 寫了某些內容之後就被防毒軟體判定為病毒,
這我也遇過, 我自已寫的的程式資料夾內, 就有3成的檔案被視為病毒....
(通常都是防毒軟體比較嚴謹, 連文字檔也一併檢查的關係)


=====================================
至於最基礎的指令...
"基礎"的定義是什麼??? 每個人的回答都不一樣

很多人會說 : C語言是所有的程式的基礎,
也有人會說 : 更難懂的組合語言, 所有的程式的基礎
當然也有人說 : 上面2種...是給專業人士學的, 我只要學VB就好

==============================================

總結:

您的問題應該是:

【我們學校的老師, 用了某一種文字語言,
只需要【在XP桌面按右鍵,新增文字文件】
然後在打一些指令, 然後再把檔名改成 .exe, 就可以執行了,
現在我需要用這種方式, 寫出能夠自動登入某個網站的程式,
以及能夠執行數個安裝檔, 並顯示授權, 最後再要求重開機 的程式



然而, 在沒辦法了解您的"基本指令需求"
甚至不知道您的老師...寫了什麼 的情形下,

實在是很難從您的角度來幫您解答...

(可能得麻煩你向老師問的更詳細一點了.....) :on_22:

嗯...不好意思,我現在是社會人士,不是學生。
況且,我曾請教過的老師,也不是學校老師。

很謝謝您的熱心,可惜您的回答無法解決我目前所想要請教的問題。
不管怎麼樣,還是很謝謝您^^

888888 2010-07-06 09:01 PM

引用:

作者: ccutmis (文章 2248172)
....... 基本上沒有人提到"C語言"啊~ =_="
不論是WSH或是autoit3的語法,都很類似VBScript~
再討論下去的話好像是無止盡的空談,先確定你要的是什麼?
1) 只是要解決目前遇到的問題
2) 你想學到解決目前問題的方法~
======
如果您的選擇是 1) 那就把你所說的步驟用貼圖或是完整說明給大家看~例如:

a.執行"OXOX.exe"

b.出現下列畫面
-OXOX1-------
| 請按 [下一步] |
--------------

c.出現下列畫面
-OXOX2-------
| [安裝完成] |
-------------

d.出現下列畫面
-OXOX3------
| 是否重開機? |
| [是] [否] |
--------------

如果是 2)的話,可能你要先學一下VBScript~比較實在,不然就算人家把範例寫給你,你還是不會改...

================================================
P.S:如果是用 autoit3的話,解決 1)的程式如下:

Run("OXOX.exe")
WinWaitActive("OXOX1")
Send("{ENTER}")
WinWaitActive("OXOX2")
Send("{ENTER}")
WinWaitActive("OXOX3")
Send("{TAB}{ENTER}")
Msgbox(0,"OXOX","安裝完成")

================================================
另一個範例... testIE.vbs
在桌面上新建一個文字檔,並更名為"testIE.vbs"
用記事本開啟"testIE.vbs",然後貼入下列程式碼之後存檔。再雙擊桌面上的"testIE.vbs"執行,它會自動開啟IE並鍵入wsh[enter]....這只是一個簡單的示例
基本上你可以在本機上操作的所有功能,80%都可以用WSH來達成~希望有幫助!


ie_Title = "Google"
Set oIE = WScript.CreateObject("InternetExplorer.Application")
oIE.visible = True
oIE.Navigate "http://www.google.com.tw"
oIE.MenuBar = False
oIE.width = 800
oIE.height = 400

WScript.Sleep 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate ie_Title
WScript.Sleep 1000
WshShell.SendKeys("{tab}+{tab}")
WScript.Sleep 500
WshShell.SendKeys("w")
WScript.Sleep 500
WshShell.SendKeys("s")
WScript.Sleep 500
WshShell.SendKeys("h")
WScript.Sleep 500
WshShell.SendKeys("{enter}")



我想全選@@" 哈哈
因為沒有入門,所以只好參考別人寫的程式,如下(寫完檔名要改成.exe):
程式一:

===================================================================
/start "" "C:\Program Files\Mozilla Firefox\firefox.exe"
"http://www.atlaspost.com/farm.php?id=10490"
"http://www.atlaspost.com/farm.php?id=38577"
"http://www.atlaspost.com/farm.php?id=243"
"http://blog.xuite.net/eoe888/H"

pause
/t taskkill.exe /F /IM firefox.exe
====================================================================
我試改了一下,只是到後台去看人數流量時,發現不知道是不是關閉的速度太快?似乎只是在自己的電腦中跑,沒有真的連到該站,所以也就沒有留下經過過的紀錄。
而這程式是不完整的,如果只有進入一個網站,如下:
程式二:

====================================================================
/start "" "C:\Program Files\Mozilla Firefox\firefox.exe" "http://blog.xuite.net/eoe888/H"

pause
/t taskkill.exe /F /IM firefox.exe
====================================================================
缺點一:雖然這樣能夠跑,但也是沒被網站的後台人數流量記錄到...

缺點二:可是有另外開Firefox在瀏覽別的網站,這條程式跑到一半就會定住不會動了(大概無法判讀要關哪一個@@?)!

缺點三:如果是程式一,我發現它不會自動用分頁開,不管有沒有另外開Firefox瀏覽別的網站,就算用|連接也還是會跑到一半就停住,不知道該要開一個站就馬上關,還是讓它也能夠自動以分頁開啟其他的網址,兩種各有利弊。
問題又來啦~用分頁開啟多個網址該怎麼寫呢?

pedrowong 2010-07-06 09:26 PM

該不會是 perl 吧?
 
引用:

作者: 888888 (文章 2248231)
總結:

您的問題應該是:

【我們學校的老師, 用了某一種文字語言,
只需要【在XP桌面按右鍵,新增文字文件】
然後在打一些指令, 然後再把檔名改成 .exe, 就可以執行了,
現在我需要用這種方式, 寫出能夠自動登入某個網站的程式,
以及能夠執行數個安裝檔, 並顯示授權, 最後再要求重開機 的程式


該不會是 perl 吧?

cwvdavid 2010-07-07 01:26 AM

我實際將檔名改成 .exe, 就是無法執行 >_<
(應該是執行環境不同...不然就是我的電腦有問題...)

http://img809.imageshack.us/img809/5901/snapshot062.png


撇開程式碼的種類不談...

以下是我寫 vbscript 的寫法 (用記事本,填入下列資料,然後直接改名為 xxx.vbs ) 就可以執行了...
------------------------------------
set IE = WScript.CreateObject("InternetExplorer.Application")
IE.ToolBar = true
IE.StatusBar = true
IE.Resizable = true
IE.Width = 640
IE.Height = 480

IE.Visible = True '開啟IE...

IE.Navigate "http://www.atlaspost.com/farm.php?id=10490"
Do
Loop While IE.Busy
msgbox("第1個")

IE.Navigate "http://www.atlaspost.com/farm.php?id=38577"
Do
Loop While IE.Busy
msgbox("第2個")

IE.Navigate "http://www.atlaspost.com/farm.php?id=243"
Do
Loop While IE.Busy
msgbox("第3個")

IE.Navigate "http://blog.xuite.net/eoe888/H"
Do
Loop While IE.Busy
msgbox("第4個")

IE.Visible = false '隱藏IE(關閉)
------------------------------------
http://img651.imageshack.us/img651/2784/snapshot063.png

ccutmis 2010-07-07 02:16 AM

引用:

作者: 888888 (文章 2248233)
我想全選@@" 哈哈
因為沒有入門,所以只好參考別人寫的程式,如下(寫完檔名要改成.exe):
程式一:

===================================================================
/start "" "C:\Program Files\Mozilla Firefox\firefox.exe"
"http://www.atlaspost.com/farm.php?id=10490"
"http://www.atlaspost.com/farm.php?id=38577"
"http://www.atlaspost.com/farm.php?id=243"
"http://blog.xuite.net/eoe888/H"

pause
/t taskkill.exe /F /IM firefox.exe
====================================================================
我試改了一下,只是到後台去看人數流量時,發現不知道是不是關閉的速度太快?似乎只是在自己的電腦中跑,沒有真的連到該站,所以也就沒有留下經過過的紀錄。
而這程式是不完整的,如果只有進入一個網站,如下:
程式二:

====================================================================
/start "" "C:\Program Files\Mozilla Firefox\firefox.exe" "http://blog.xuite.net/eoe888/H"

pause
/t taskkill.exe /F /IM firefox.exe
====================================================================
缺點一:雖然這樣能夠跑,但也是沒被網站的後台人數流量記錄到...

缺點二:可是有另外開Firefox在瀏覽別的網站,這條程式跑到一半就會定住不會動了(大概無法判讀要關哪一個@@?)!

缺點三:如果是程式一,我發現它不會自動用分頁開,不管有沒有另外開Firefox瀏覽別的網站,就算用|連接也還是會跑到一半就停住,不知道該要開一個站就馬上關,還是讓它也能夠自動以分頁開啟其他的網址,兩種各有利弊。
問題又來啦~用分頁開啟多個網址該怎麼寫呢?


這問題還真是熱門呢!
看了您貼出來的源碼我才聯想到,這不就是DOS指令嗎=_="
例如: start,pause, taskkill 等等,副檔名.exe跟.bat都可以,
意義就同DOS時代的批次檔,想不到原來也有這種執行檔^^"

好了回到正題吧,既然你不是學生,也沒有老師的作業壓力,那我還是誠心向您推見Autoit3
上google搜尋一下可以找到官網軟體下載還有很多源文件,重點是它很簡潔~

我底下附了一個參考的壓縮檔,裡面有用autoit3編譯好的"執行檔"(testFox.exe)及原始檔(testFox.au3)
執行後會開啟Firefox,然後先在原頁面導向到Yahoo首頁,再開一個分頁並導向到Hinet首頁。

http://www.web3d.url.tw/foxdata/testFox.rar

我沒用上你附的連結,因為那會有廣告之嫌~ 若合用你再舉一反三改一下嘍。
另外你提到"到後台去看人數流量"...你該不會是要做灌水機器人程式吧? 如果是的話,
就算你克服了上列所有問題,還是不夠....因為IP都是固定的...像Google的流量統計就會無效了~

888888 2010-07-12 09:48 AM

以下是我寫 vbscript 的寫法 (用記事本,填入下列資料,然後直接改名為 xxx.vbs ) 就可以執行了...
------------------------------------
set IE = WScript.CreateObject("InternetExplorer.Application")
IE.ToolBar = true
IE.StatusBar = true
IE.Resizable = true
IE.Width = 640
IE.Height = 480

IE.Visible = True '開啟IE...

IE.Navigate "http://www.atlaspost.com/farm.php?id=10490"
Do
Loop While IE.Busy
msgbox("第1個")

IE.Navigate "http://www.atlaspost.com/farm.php?id=38577"
Do
Loop While IE.Busy
msgbox("第2個")

IE.Navigate "http://www.atlaspost.com/farm.php?id=243"
Do
Loop While IE.Busy
msgbox("第3個")

IE.Navigate "http://blog.xuite.net/eoe888/H"
Do
Loop While IE.Busy
msgbox("第4個")

IE.Visible = false '隱藏IE(關閉)
------------------------------------
http://img651.imageshack.us/img651/2784/snapshot063.png[/quote]

謝謝您!!程式碼真是寫的簡單明瞭!!
嗯,就算不是.exe檔,只要能在系統上執行,就OK啦~
我有稍微修改了一下XD,讓他直接跑。
其實是因為最近加入了"地圖日記"這種東西,點別人的農場連結就能夠讓對方得到東西,因為有些人會幫忙點,但我雖然可以幫他們點連結,卻覺得每天好像花越來越多的時間在等待網頁打開,乾脆寫個程式讓他自己跑,我就先做別的事情,反而省時又省力。
------------------------------------
set IE = WScript.CreateObject("InternetExplorer.Application")
IE.ToolBar = true
IE.StatusBar = true
IE.Resizable = true
IE.Width = 640
IE.Height = 480
IE.Visible = True '開啟IE...

IE.Navigate "http://blog.xuite.net/eoe168/EmpressG"
Do
Loop While IE.Busy

IE.Navigate "http://www.atlaspost.com/farm.php?id=38577"
Do
Loop While IE.Busy

IE.Navigate "http://www.atlaspost.com/farm.php?id=243"
Do
Loop While IE.Busy

IE.Navigate "http://blog.xuite.net/eoe888/H"
Do
Loop While IE.Busy

IE.Visible = false '隱藏IE(關閉)
------------------------------------
話說,如果要用火狐去開網頁該怎麼改呢?
我試過把IE的部份改成firefox.exe,但沒辦法跑@@(舉一真是反不了3..噗)


888888 2010-07-12 10:15 AM

引用:

作者: ccutmis (文章 2248261)
這問題還真是熱門呢!
看了您貼出來的源碼我才聯想到,這不就是DOS指令嗎=_="
例如: start,pause, taskkill 等等,副檔名.exe跟.bat都可以,
意義就同DOS時代的批次檔,想不到原來也有這種執行檔^^"

好了回到正題吧,既然你不是學生,也沒有老師的作業壓力,那我還是誠心向您推見Autoit3
上google搜尋一下可以找到官網軟體下載還有很多源文件,重點是它很簡潔~

我底下附了一個參考的壓縮檔,裡面有用autoit3編譯好的"執行檔"(testFox.exe)及原始檔(testFox.au3)
執行後會開啟Firefox,然後先在原頁面導向到Yahoo首頁,再開一個分頁並導向到Hinet首頁。

http://www.web3d.url.tw/foxdata/testFox.rar

我沒用上你附的連結,因為那會有廣告之嫌~ 若合用你再舉一反三改一下嘍。
另外你提到"到後台去看人數流量"...你該不會是要做灌水機器人程式吧? 如果是的話,
就算你克服了上列所有問題,還是不夠....因為IP都是固定的...像Google的流量統計就會無效了~

噗噗...之前我也有試過autoit3,可能是全英版的,完全不知從哪下手...
雖然我有下載您所寫的程式,但轉文字文件後,發現只要改網址就不會自己跑。原本我以為.au3的檔案能直接改.txt編輯,卻都沒有跑到所需要的網站...至於.exe的那個檔案,則是改成.txt後變成亂碼=..=6...不知道是不是真的必需用autoit3編輯?

雖然您的回覆沒有被採用...但我很感謝您有這份熱情想解決我所發問的問題@@"

888888 2010-07-12 10:16 AM

引用:

作者: pedrowong (文章 2248237)
該不會是 perl 吧?

perl------>請問這個是什麼@@?

cwvdavid 2010-07-12 01:07 PM

perl 也是一種腳本(指令)
==========================
回正題, AutoIT 所編譯完的執行檔...就是執行檔, 那是不能改的,
你只能把.au3的檔案, 修改完之後, 再用AutoIT 重新編譯成執行檔


如果真的那麼不想用AutoIT, 然後又想要用FireFox的話...
那....

把下列文字存成 xxx.vbs
(底下的寫法跟AutoIT差不多, 但運作模式完全相同)

註:FireFox不提供程式碼直接控制的功能,
所以只能請電腦。。。把 "人 的操作步驟",執行出來


語法:

Set wshshell=CreateObject("wscript.shell")
wshshell.Run "firefox.exe about:blank" '執行Firefox(並預設一個空白頁, 以便使用)


WScript.Sleep 2000 '等待2秒鐘, 確定FireFox已開啟

'wshshell.AppActivate "Mozilla Firefox" '指定目前正在看的是 視窗標題為 "Mozilla Firefox"的視窗
'(上面這一行雖然可以讓焦點出現在FireFox, 但在控制時, 似乎會沒有效) 反而是不指定會比較好
'另外, 當網頁開始瀏覽之後, 視窗的Title 會變成 【xxxxx ooooo - Mozilla Firefox】
'例如:
' 【iGoogle - Mozilla Firefox】
' 【史萊姆論壇 - Mozilla Firefox】
' 【公告 - 被列管會員緊急通知 (所有會員必先觀看) - 史萊姆論壇 - Mozilla Firefox】
'當標題變更後, 要執行  wshshell.AppActivate 時, 就必須跟著改後面的文字....@_@
'因此, 在執行FireFox.exe時, 加上about:blank, 可以確保一開始的標題是 【Mozilla Firefox】


wshshell.SendKeys "^l" 'Ctrl + L (切換到網址列)
WScript.Sleep 100 '等0.1秒, 確保焦點在網址列(否則還來不及切換到網址列, 底下的字母可能已經打完了...)
wshshell.SendKeys "http://tw.yahoo.com{enter}" '按下鍵盤的英文字母, 再按下Enter

WScript.Sleep 500 '等0.5秒...準備開下一個分頁...

'按下ALT+F, 再按下T ...(如同Ctrl + T, 但 " Ctrl + T " 不一定會開出新的分頁...所以使用Ctrl+T要小心...)
WScript.Sleep 500 '等0.5秒...
wshshell.SendKeys "%f" 'ALT + F
WScript.Sleep 100 '等0.1秒...
wshshell.SendKeys "t"

'開出新的分頁之後...指定網址...

wshshell.SendKeys "^l" 'Ctrl + L (切換到網址列)
WScript.Sleep 500 '等0.5秒, 確保焦點在網址列
wshshell.SendKeys "http://www.seed.net.tw" '按下鍵盤的英文字母
wshshell.SendKeys "{enter}" '按下鍵盤的Enter

WScript.Sleep 500 '等0.5秒, 再開一個視窗
wshshell.SendKeys "^t" 'Ctrl + T (叫出FireFox的分頁視窗, )

WScript.Sleep 500 '等0.5秒
wshshell.SendKeys "^l" 'Ctrl + L (切換到網址列)

WScript.Sleep 100 '等0.1秒, 再輸入網址...
wshshell.SendKeys "http://www.hinet.net"
wshshell.SendKeys "{enter}"

WScript.Sleep 300

msgbox("執行完畢")


cwvdavid 2010-07-12 08:57 PM

更簡易的寫法...
(利用FireFox的特性來連開....)

上面的一堆麻煩事都可以省了...



===將下列文字存成 xxx.vbs==================
Set wshshell=CreateObject("wscript.shell")
wshshell.Run "firefox.exe about:blank" '執行Firefox(並預設一個空白頁, 以便使用)
WScript.Sleep 10000 '等待10秒鐘, 確定FireFox已出現(從來沒開啟過的時候會需要比較久)

wshshell.Run "firefox.exe http://tw.yahoo.com" '執行Firefox(直接給網址)
WScript.Sleep 1000
wshshell.Run "firefox.exe http://www.seed.net.tw"
WScript.Sleep 1000
wshshell.Run "firefox.exe http://forum.slime.com.tw"
WScript.Sleep 1000
wshshell.Run "firefox.exe http://www.pchome.com.tw"
===將以上文字存成 xxx.vbs==================

888888 2010-07-17 12:06 AM

更簡易的寫法...
(利用FireFox的特性來連開....)

上面的一堆麻煩事都可以省了...



===將下列文字存成 xxx.vbs==================
Set wshshell=CreateObject("wscript.shell")
wshshell.Run "firefox.exe about:blank" '執行Firefox(並預設一個空白頁, 以便使用)
WScript.Sleep 10000 '等待10秒鐘, 確定FireFox已出現(從來沒開啟過的時候會需要比較久)

wshshell.Run "firefox.exe http://tw.yahoo.com" '執行Firefox(直接給網址)
WScript.Sleep 1000
wshshell.Run "firefox.exe http://www.seed.net.tw"
WScript.Sleep 1000
wshshell.Run "firefox.exe http://forum.slime.com.tw"
WScript.Sleep 1000
wshshell.Run "firefox.exe http://www.pchome.com.tw"
===將以上文字存成 xxx.vbs==================

如果使用FireFox就無法用像跑IE的方式去跑網址嗎?
分頁開很多,FireFox的記憶體會佔很大~~

888888 2010-07-17 12:17 AM

引用:

作者: cwvdavid (文章 2248805)
perl 也是一種腳本(指令)
==========================
回正題, AutoIT 所編譯完的執行檔...就是執行檔, 那是不能改的,
你只能把.au3的檔案, 修改完之後, 再用AutoIT 重新編譯成執行檔


如果真的那麼不想用AutoIT, 然後又想要用FireFox的話...
那....

把下列文字存成 xxx.vbs
(底下的寫法跟AutoIT差不多, 但運作模式完全相同)

註:FireFox不提供程式碼直接控制的功能,
所以只能請電腦。。。把 "人 的操作步驟",執行出來


語法:

Set wshshell=CreateObject("wscript.shell")
wshshell.Run "firefox.exe about:blank" '執行Firefox(並預設一個空白頁, 以便使用)


WScript.Sleep 2000 '等待2秒鐘, 確定FireFox已開啟

'wshshell.AppActivate "Mozilla Firefox" '指定目前正在看的是 視窗標題為 "Mozilla Firefox"的視窗
'(上面這一行雖然可以讓焦點出現在FireFox, 但在控制時, 似乎會沒有效) 反而是不指定會比較好
'另外, 當網頁開始瀏覽之後, 視窗的Title 會變成 【xxxxx ooooo - Mozilla Firefox】
'例如:
' 【iGoogle - Mozilla Firefox】
' 【史萊姆論壇 - Mozilla Firefox】
' 【公告 - 被列管會員緊急通知 (所有會員必先觀看) - 史萊姆論壇 - Mozilla Firefox】
'當標題變更後, 要執行  wshshell.AppActivate 時, 就必須跟著改後面的文字....@_@
'因此, 在執行FireFox.exe時, 加上about:blank, 可以確保一開始的標題是 【Mozilla Firefox】


wshshell.SendKeys "^l" 'Ctrl + L (切換到網址列)
WScript.Sleep 100 '等0.1秒, 確保焦點在網址列(否則還來不及切換到網址列, 底下的字母可能已經打完了...)
wshshell.SendKeys "http://tw.yahoo.com{enter}" '按下鍵盤的英文字母, 再按下Enter

WScript.Sleep 500 '等0.5秒...準備開下一個分頁...

'按下ALT+F, 再按下T ...(如同Ctrl + T, 但 " Ctrl + T " 不一定會開出新的分頁...所以使用Ctrl+T要小心...)
WScript.Sleep 500 '等0.5秒...
wshshell.SendKeys "%f" 'ALT + F
WScript.Sleep 100 '等0.1秒...
wshshell.SendKeys "t"

'開出新的分頁之後...指定網址...

wshshell.SendKeys "^l" 'Ctrl + L (切換到網址列)
WScript.Sleep 500 '等0.5秒, 確保焦點在網址列
wshshell.SendKeys "http://www.seed.net.tw" '按下鍵盤的英文字母
wshshell.SendKeys "{enter}" '按下鍵盤的Enter

WScript.Sleep 500 '等0.5秒, 再開一個視窗
wshshell.SendKeys "^t" 'Ctrl + T (叫出FireFox的分頁視窗, )

WScript.Sleep 500 '等0.5秒
wshshell.SendKeys "^l" 'Ctrl + L (切換到網址列)

WScript.Sleep 100 '等0.1秒, 再輸入網址...
wshshell.SendKeys "http://www.hinet.net"
wshshell.SendKeys "{enter}"

WScript.Sleep 300

msgbox("執行完畢")




這樣如果是設定注音輸入法,就不會順利執行了@@"
分頁開很多,記憶體會當掉= =+

cwvdavid 2010-07-17 01:22 AM

很遺憾~ 有一好沒兩好...

再不然就得靠 html的 javascript, 動態的一個一個載入你想連的頁面,
最後再手動將那個頁面關掉....

(題外話......有那麼多的朋友需要你幫忙點那些連結嗎????)

888888 2010-07-18 12:01 PM

引用:

作者: cwvdavid (文章 2249321)
很遺憾~ 有一好沒兩好...

再不然就得靠 html的 javascript, 動態的一個一個載入你想連的頁面,
最後再手動將那個頁面關掉....

(題外話......有那麼多的朋友需要你幫忙點那些連結嗎????)


嗯,不知您是否知道"地圖日記"。
加入後,裡面有一個叫做"種菜農場"的東西,去別人的農場一次,就能帶給該農場主人物品。


所有時間均為台北時間。現在的時間是 06:03 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1