mIRCBOT函數
文件和目錄函數
$abook(nick, N) 函數
【作用】
返回關於mIRC通信錄裡某個暱稱的訊息。
【說明】
$abook()函數有六個內容——「nick」、「info」、「email」、「website」、「picture」和「noteN」,分別用來返回暱稱、相關描述、E-Mail、主頁、照片和相關註釋(N可以指定是第幾行註釋)。
【舉例】
$abook(1),將返回通信錄裡的第一個暱稱
$abook(TigTag).email,將返回通信錄裡TigTag的E-Mail
$alias(N/filename) 函數
【作用】
返回指定的已載入的Alias檔案名。
【說明】
當使用filename時,如果該檔案尚未載入,則返回「$null」,否則返回該檔案名。
【舉例】
$alias(1),將返回第一個已載入的Alias檔案名
$alias(alias_hello.ini),如果「alias_hello.ini」這個文件已被載入,則返回「alias_hello.ini」,否則返回「$null」
$crc(filename) 函數
【作用】
返回指定文件的CRC。
$dir, $file, $hfile, $sdir 函數
【作用】
顯示一個開啟目錄或者開啟文件的對話視窗,並將選定的目錄名或者檔案名返回。
【說明】
這些函數的具體語法都是「<函數名>="對話視窗的標題" <文件或目錄的路徑>」。$dir函數彈出一個包含完整目錄名和文件的對話視窗供人選項;而$file僅彈出一個包含文件的對話視窗;$hfile與$file作用相同,但是是將文件水準排列的;至於$sdir,則是彈出一個只有目錄可供選項的對話視窗。
【注意】
$dir、$file和$hfile僅在老版本的mIRC(比如5.6)裡才有區別,在新版本的mIRC(比如5.71)裡已經不再有什麼區別了。
在mIRC 5.82之後的版本裡,$dir、$file、$hfile和$sdir函數都已經被逐漸取消,而取代為$sdir(dir, title)和$sfile(dir, title, oktext)函數,其中的「dir」表示目錄名,「title」是對話視窗的視窗標題,「oktext」則是對話視窗確定按鈕上的文字。「title」和「oktext」均為可選項。
【舉例】
$dir="請選項一個文件" c:\,將以路徑C:\為基礎開啟一個文件選項對話視窗
$file="請選項一個聲音文件" c:\windows\media\*.wav,將以路徑C:\WINDOWS\Media\為基礎開啟一個*.wav文件的選項對話視窗
$sdir="請選項一個資料夾" d:\logs,將以路徑D:\logs為基礎開啟一個目錄選項對話視窗
以上為舊版本的mIRC函數用法,下面是高版本的$sdir()和$sfile()用法:
$sdir(d:\logs, 請選項一個資料夾),將以路徑D:\logs為基礎開啟一個目錄選項對話視窗
$sfile(c:\windows\media\*.wav, 請選項一個聲音文件, 確定),將以路徑C:\WINDOWS\Media\為基礎開啟一個*.wav文件的選項對話視窗
$disk(C) 函數
【作用】
返回是否存在指定的硬碟(或光碟)驅動器,並可返回相關資訊。
【說明】
$disk()函數有四個內容——「type」、「free」、「label」和「size」,分別用來返回硬碟(或光碟)的檔案檔案檔案類型、剩餘空間、磁碟區冊以及容量。
【舉例】
$disk(E
,如果驅動器E:存在,則返回「$true」,否則返回「$false」
$disk(C
.free,返回驅動器C:的剩餘空間(以字元表示)
$exists(filename) 函數
【作用】
返回是否存在指定的文件。
【舉例】
$exists(c:\autoexec.bat),如果C:\autoexec.bat存在,則返回「$true」,否則返回「$false」
$exists(c:\program files\mirc\mirc.exe),如果c:\program files\mirc\mirc.exe存在,則返回「$true」,否則返回「$false」
$file(filename) 函數
【作用】
返回指定文件的相關資訊。
【說明】
$file()函數有四個內容——「size」(預設)、「ctime」、「mtime」和「atime」,分別用來返回文件的大小、新增時間、最後修改時間以及最後訪問時間。
【舉例】
$file(c:\scandisk.log)或者$file(c:\scandisk.log).size,將返回C:\scandisk.log的文件大小(以字元表示)
$file(c:\scandisk.log).mtime,將返回C:\scandisk.log的末次修改時間
$filtered 函數
【作用】
返回通過使用/FILTER指令過濾掉的總行數。
$finddir(dir, wildcard, N, depth, @window | command) 函數
【作用】
搜尋指定目錄下的子目錄名並將其返回。
【說明】
在$finddir()函數里,「dir」是指指定的目錄,「N」是指返回第幾個符合條件的結果,「wildcard」是指任意萬用字元,「depth」是指要搜尋的目錄深度(即子目錄級數),「@window | command」是指將查詢結果返回到一個帶有目錄的自訂視窗裡,或者對查詢結果執行一條指令(當使用指令時,可以用「$1-」來替代找到的目錄名)。
【舉例】
$finddir(c:\, b*, 1),將返回c:\下的第一個以「b」開頭的目錄名
$finddir(c:\windows, tem*, 1, echo -s $1-),將返回c:\windows下的第一個以「tem」開頭的目錄名,並將其顯示在mIRC的狀態視窗裡
$findfile(dir, wildcard, N, depth, @window | command) 函數
【作用】
搜尋指定目錄下的檔案名並將其返回。
【說明】
在$findfile()函數里,「dir」是指指定的目錄,「N」是指返回第幾個符合條件的結果,「wildcard」是指任意萬用字元,「depth」是指要搜尋的目錄深度(即子目錄級數),「@window | command」是指將查詢結果返回到一個帶有目錄的自訂視窗裡,或者對查詢結果執行一條指令(當使用指令時,可以用「$1-」來替代找到的檔案名)。
【舉例】
$findfile(c:\, *.txt, 1),將返回c:\下的第一個TXT檔案名
$findfile(c:\windows, *.log, 1, echo -s $1-),將返回c:\windows下的第一個LOG檔案名,並將其顯示在mIRC的狀態視窗裡
$getdir 函數
【作用】
返回在DCC設定裡所設定的預設文件儲存目錄。
$getdir(filespec) 函數
【作用】
返回在DCC設定裡所設定的指定檔案檔案檔案類型文件的儲存目錄。
$ini(file, topic/N, item/N) 函數
【作用】
返回在一個INI文件(或者TXT文件)裡的指定類別名稱,或者指定類別名稱在文件所有類別名稱裡的位置。
【舉例】
$ini(mirc.ini, afiles),將返回「[afiles]」這個類別名在mirc.ini所有類別名稱裡的位置
$ini(mirc.ini, 0),將返回mirc.ini裡所有類別名稱的總個數
$isdir(dirname) 函數
【作用】
用來判斷一個目錄是否為有效。
【說明】
如果指定的目錄有效,則返回「$true」,否則返回「$false」。
$isfile(filename) 函數
【作用】
用來判斷一個文件是否存在。
【說明】
如果指定的文件存在,則返回「$true」,否則返回「$false」。
$lines(filename) 函數
【作用】
返回指定文本文件的總行數。
$logdir 函數
【作用】
返回在mIRC設定裡所設定的LOG文件的儲存目錄。
$longfn(filename) 函數
【作用】
將一個檔案名或目錄名返回成長檔案名的格式(僅適用於32位版本的mIRC)。
【舉例】
$longfn(c:\progra~1),將返回「C:\Program Files」
$mididir 函數
【作用】
返回在mIRC設定裡所設定的MIDI文件的預設目錄。
$mircexe 函數
【作用】
返回mIRC的主程式文件(一般是「mirc32.exe」)所在的完整路徑(包括檔案名)。
$mklogfn() 函數
【作用】
把一個檔案名返回成mIRC的記錄文件的樣式。
$nofile() 函數
【作用】
返回一個文件的完整路徑(但不包括該檔案名)。
$nopath() 函數
【作用】
返回一個文件的名稱(但不包括該檔案的路徑訊息)。
$mircdir 函數
【作用】
返回mIRC的主程式文件(一般是「mirc32.exe」)所在的完整路徑(不包括主程式檔案名)。
$mircini 函數
【作用】
返回mIRC的主組態文件(一般是「mirc.ini」)所在的完整路徑(包括該群組態檔案名)。
$read 函數
【作用】
讀取指定的文本文件(但不能是*.INI文件),並返回符合條件的某一行的內容。
【格式】
$read [-ntl# -swtext] <文本檔案名>
【說明】
如果不加參數,則表示隨機返回該文本文件的一行內容;加參數「-n」表示不將讀取到的內容作為IRC指令執行或作為函數而賦值(預設情況下讀取到的內容都將首先被作為IRC指令執行或者作為函數而被賦值);加參數「-t」表示只把文本文件的第一行作為「-n」的方式處理;加參數「-l#」表示返回指定行的內容;加參數「-stext」表示搜尋以「text」開始的行,並將這行的「text」以後的內容返回;加參數「-wtext」表示搜尋任何包含指定文字(可以使用萬用字元)的行,並將該行的內容返回。
* 當使用了一次帶-s或帶-w參數的$read函數後,則$readn函數也具有了值,它將返回本次$read函數所讀取的行號。
【舉例】
$read C:\AUTOEXEC.BAT,將返回C:\AUTOEXEC.BAT裡的隨機一行
$read -l5 C:\AUTOEXEC.BAT,將返回C:\AUTOEXEC.BAT裡的第五行
$read -w*HELP* CMDSHELP.TXT,將返回CMDSHELP.TXT裡的包含關鍵字「HELP」的第一行
$readini 函數
【作用】
讀取指定的INI組態文件,並返回符合條件的某一行的內容。
【格式】
$readini <-n> <INI檔案名> <類別名稱> < 列項名稱>
【說明】
加參數「-n」表示不將讀取到的內容作為IRC指令執行或作為函數而賦值(預設情況下讀取到的內容都將首先被作為IRC指令執行或者作為函數而被賦值)。
【舉例】
$readini mirc.ini mirc nick,將返回在mirc.ini裡的[mirc]類別下的nick 列項的內容,即你的第一個暱稱
$shortfn(filename) 函數
【作用】
將一個長檔案名的文件或目錄返回成MS-DOS的8.3檔案名格式(僅適用於32位版本的mIRC)。
【舉例】
$shortfn(c:\program files\),將返回「c:\progra~1\」
$wavedir 函數
【作用】
返回在mIRC設定裡所設定的WAV文件的預設目錄。
$mp3dir 函數
【作用】
返回在mIRC設定裡所設定的MP3文件的預設目錄。
* 本函數是在mIRC 5.8之後才出現的。