Aros/使用者/DOS
在 Dopus 5 Magellan 中 - 右鍵單擊 -> Icaros -> Shell
在 Wanderer(AROS 桌面/GUI)中,按 RightAROS + w(或 F12 + w)(或使用滑鼠右鍵訪問 Wanderer 螢幕頂部的選單)開啟 Shell 視窗。要關閉 Shell 視窗,請單擊 Shell 視窗左上角的 X,或鍵入
endcli
或者
endshell
預設情況下,當前目錄將顯示為 Shell 提示符的一部分。預設情況下,起始點為“System:”,即作業系統的根目錄,也稱為 sys
System:>
鍵入“dir”並按回車鍵。您將看到當前目錄的內容。
System:>dir
您只需鍵入其名稱(並按回車鍵)即可執行可執行檔案或進入目錄。只需鍵入“c”即可進入“C”目錄(AROS DOS 不區分大小寫)。
System:>c
現在按兩次向上箭頭鍵。AROS Shell 擁有一個命令歷史記錄,允許您快速重複或重新使用命令。現在您應該再次看到“dir”命令,所以按回車鍵。您將看到剛剛進入的“c”目錄的內容。
System:c>dir
此目錄是 AROS 的主要可執行檔案位置,可以從任何目錄執行。現在鍵入“/”(一個斜槓)並按回車鍵。您剛剛向上移動了一個目錄,回到了“System:”。
System:>
現在嘗試另一個“dir”類似命令(位於“c”目錄中),“list”。
System:>list
輸出與“dir”非常相似。但您可以使用選項控制“list”輸出。AROS DOS 命令列選項透過其名稱識別,並最終透過其在命令列中的位置識別。試試這個
System:>list sub d
輸出現在將包含所有目錄內容,其名稱包含子字串“d”。另一個示例,另一個選項
System:>list sub d all
這將遞迴地列出與“d”匹配的內容。
http://uk.aminet.net/docs/help/adosbegin.lha
http://se.aminet.net/pub/aminet/docs/help/adosbegin.lha
IF <condition>
; these commands are executed if the condition is true
ELSE
; these commands are executed if the condition is false
ENDIF
<condition> 可以是以下之一
WARN - 前一個命令的返回值為 5 或更高。
ERROR - 前一個命令的返回值為 10 或更高。
FAIL - 前一個命令的返回值為 20 或更高。
EXISTS <filename> - 檢查檔案或目錄是否存在。
<a> EQ <b> - 字串比較。
<a> EQ <b> VAL - 數值比較。
<a> GT <b> - 與 EQ 相同,只是表示“大於”。
<a> GE <b> - 與 EQ 相同,只是表示“大於或等於”。
以上任何一個都可以透過 NOT 否定。例如,使用 NOT GT 表示“小於或等於”,使用 NOT GE 表示“小於”。
07 Bell - Flash screen and sound bell 08 Backspace - move cursor back one position 09 vertical tab - move cursor up one line 10 line feed - move cursor down one line 11 is not listed in my book 12 form feed - clear screen 13 Carriage return - move cursor to start of line 14 Set MSB of each character. (Print extended chars) 15 Clear MSB of each character. *e[c - Clear window and turn all modes off *e[0m - All modes turned off *e[1m - Bold text enabled *e[3m - Italic enable *e[4m - Uderline *e[7m - Inverted text enable *e[8m - text becomes invisible (grey on grey) *e[3xm - Text colour becomes colour x (0-7) *e[4xm - Background colour becomes colour x (0-7) *e[n@ - Insert n spaces at cursor position. *e[nA - Cursor up n lines. Default 1 *e[nB - Cursor down n lines. Default 1 *e[nC - Cursor forward n characters. Default 1 *e[nD - Cursor back n characters. Default 1 *e[nE - Cursor next n lines(to column 1). Default 1 *e[nH - Cursor to row n (Y position) *e[;nH - Cursor to column n (X position) *e[y;xH - Cursor to position X,Y *e[J - Erase from cursor to end of display *e[K - Erase from cursor to end of line *e[I - Insert line above line at cursor *e[M - Delete line at cursor *e[nS - Scroll up n lines *e[nT - Scroll down n lines *e[nt - set page length to n lines (in current font) *e[nu - Set line length in characters of current font *e[nx - Set left offset in characters *e[ny - Set top offset in lines *e[0 p - Disable cursor: Note space between zero and p *e[ p - Enable cursor. Note space
Shell 中彩色文字的示例
prompt "*E[>1m*E[1;37;41m%n.%s> *E[0;32;41m" echo "*E[0;0H*E[J"
*E[>1m
這是一個所謂的 SGR 命令,它省略了前幾個引數。它將粗體開啟。
*E[1;37;41m%n.%s>
SGR 命令指示:- 粗體(1) - 前景色 7(37)。這意味著它使用筆色 #7(預設情況下在 AROS 上為黑色,因此使用 setpencolor 命令)。- 使用背景色 1(41)。這意味著它使用筆色 #1(預設情況下在 AROS 上為黑色)。- %n 表示列印當前開啟的 cli/shell 編號 - %s 表示列印當前路徑 - > 在以上所有內容之後列印一個漂亮的管道標記(以及一個空格字元)。
*E[0;32;41m
SGR 命令指示:- 普通文字(0) - 前景色 2(32)。這意味著它使用筆色 #2(預設情況下在 AROS 上為白色)。- 背景色 1(41)。這意味著它使用筆色 #1(預設情況下在 AROS 上為黑色)。
*E[0;0H
命令“游標位置” - 將行設定為 0(0) - 將列設定為 0(0)。請注意,這似乎不像在經典系統(未經檢查)中那樣在 AROS 上工作。似乎 AROS 使用的最小編號為 1(對於左側和頂部)。
*E[J
命令“清除顯示”(此命令中未使用其他引數)。
每個 AROS 發行版中都會存在作業系統所需的一組特定目錄和檔案。此外,“分配”(邏輯的,而不是物理的,驅動器)指向物理驅動器分割槽或分割槽目錄結構中的位置。
- 預設情況下,IDE 總線上的硬碟驅動器將分配驅動器名稱“DH0:”,“DH1:”等。
- 預設情況下,USB 快閃記憶體驅動器將分配驅動器名稱“DU0:”,“DU1:”等。
- 預設情況下,IDE 總線上的 CD/DVD 驅動器將分配驅動器名稱“CD0:”,“CD1:”等。
SYS: Extras: DEVS: Development: L: S: LIBS: C: ENV: RAM: ENVARC: MUI: T
...包含所有系統首選項程式,例如“Screenmode”、“Locale”、“Time”、“Trident”(USB)等。是預設路徑的一部分,因此在 Shell 中輸入“screenmode”將啟動“Screenmode”首選項程式。
...包含裝置驅動程式和資料型別。將檔案移動到“SYS:Storage”的相應子目錄以停用它(重新啟動後)。更多(當前停用的)裝置驅動程式或資料型別可以在“SYS:Storage”下找到,移動到“Devs:”以啟用(重新啟動後)。
...是一個旨在儲存可選或當前未使用的裝置和資料型別的目錄。將“Devs:”的內容(見上文)移動到這裡以停用裝置驅動程式(重新啟動後)。
...是一個在啟動作業系統時將執行的指令碼。它也用於某些應用程式來儲存其個人需求(如果有 - 大多數情況下這將是一行,例如“assign PROGRAMNAME: SYS:path/to/installation/of/PROGRAMNAME”)。
...是一個由 S:startup-sequence 執行的指令碼。您可以在這裡放置自己的內容。假設您在“C:”以外的目錄(或預設“path”中的任何其他目錄)中安裝了一些可執行程式,但仍然想要在不鍵入完整路徑的情況下訪問它們,您可以新增類似這樣的行:“path WORK:path/to/my/program/ add”。
它也由一些應用程式用來儲存它們的個別需求(見上文)。
...是在啟動新 shell 時執行的指令碼。預設情況下,它包含定義 shell 提示符外觀的命令。請參閱“prompt”命令的描述。
| 鍵 | desc |
|---|---|
| /A | 必需引數 |
| /F | 列表中的最後一個引數 |
| /K | 關鍵字必須與引數一起輸入 |
| /M | 多個引數 |
| /N | 數字 |
| /S | 開關(可選) |
| Addbuffers | |
|---|---|
| 格式 | Addbuffers Drive/A Buffers/N |
| 目的 | 為磁碟緩衝區新增記憶體以提高速度。 |
| 引數 |
|
| 示例 | Addbuffers DH0: 10 |
| AddDatatypes | |
|---|---|
| 格式 | AddDataTypes files/M QUIET/S REFRESH/S LIST/S |
| 目的 | 啟用資料型別,或者如果在啟動時未檢測到則新增另一個數據型別 |
| 引數 |
|
| 示例 | AddDataTypes gif.datatype REFRESH |
| 別名 | |
|---|---|
| 格式 | Alias Name String/F |
| 目的 | 為 DOS 命令分配一個簡短名稱。 |
| 引數 |
|
| 示例 | Alias Del Delete |
| 詢問 | |
|---|---|
| 格式 | Ask Prompt/A |
| 目的 | 在指令碼中詢問問題(回覆 y/n)。使用 IF WARN 測試是否為是(值為 5)。 |
| 引數 |
|
| 示例 | Ask "Are you sure? Y/n" |
| 分配 | |
|---|---|
| 格式 | Assign Name Target/M LIST/S EXISTS/S DISMOUNT/S DEFER/S PATH/S ADD/S REMOVE/S |
| VOLS/S DIRS/S DEVICES/S | |
| 目的 | 為目錄路徑分配名稱。 |
| 引數 |
|
| 示例 | Assign Development: Extras:bin |
| 可用 | |
|---|---|
| 格式 | Avail CHIP/S FAST/S TOTAL/S FLUSH/S |
| 目的 | 記憶體可用性 |
| 引數 |
|
| 示例 | Avail TOTAL |
| 中斷 | |
|---|---|
| 格式 | Break Process/A/N ALL/S C/S D/S E/S F/S |
| 目的 | 停止程式(見狀態) |
| 引數 |
|
| 示例 | Break 2 C |
| CD | |
|---|---|
| 格式 | CD Dir/A |
| 目的 | 更改目錄 |
| 引數 |
|
| 示例 | CD Text_Files |
| ChangeTaskPri | |
|---|---|
| 格式 | ChangeTaskPri Pri=Priority/A/N Process/K/N |
| 目的 | 更改程式的執行優先順序(見狀態) |
| 引數 |
|
| 示例 | ChangeTaskPri 2 1 |
| Conclip | |
|---|---|
| 格式 | Conclip Unit/N OFF/S |
| 目的 | 啟用剪貼簿裝置 |
| 引數 |
|
| 示例 | Conclip 1 |
| 複製 | |
|---|---|
| 格式 | Copy From/M To/A ALL/S QUIET/S BUF=BUFFER/K/N CLONE/S DATES/S NOPRO/S COM/S NOREQ/S |
| 目的 | 複製檔案(帶/不帶保護位) |
| 引數 |
|
| 示例 | Copy mydoc.txt docs: Dates |
| 日期 | |
|---|---|
| 格式 | Date Day Date Time To=Ver/K |
| 目的 | 顯示/更改日期或時間 |
| 引數 |
|
| 示例 | Date To=date.txt |
| 刪除 | |
|---|---|
| 格式 | Delete File/M/A ALL/S QUIET/S FORCE/S |
| 目的 | 刪除檔案和/或目錄。 |
| 引數 |
|
| 示例 | Delete OldFilesDir All |
| 目錄 | |
|---|---|
| 格式 | Dir Dir Opt/K ALL/S DIRS/S FILES/S INTER/S |
| 目的 | 列出目錄的內容 |
| 引數 |
|
| 示例 | Dir S: Files |
| Diskchange | |
|---|---|
| 格式 | Diskchange Device/A |
| 目的 | 告訴 Dos 在非自動感應磁碟驅動器中已交換了磁碟。 |
| 引數 |
|
| 示例 | Diskchange DU2 |
| 回聲 | ||
|---|---|---|
| 格式 | Echo String/M NOLINE/S FIRST/K/N LEN/K/N TO/K | |
| 目的 | 在指令碼中顯示文字或部分文字字串。 | |
| 引數 |
| |
| 示例 | Echo "Enter your name: " NoLine | |
| 其他 | |
|---|---|
| 格式 | 其他 |
| 目的 | 與 IF 一起使用,如果不為真,則執行這些命令 |
| 示例 |
|
| EndCLI | |
|---|---|
| 格式 | EndCLI |
| 目的 | 關閉 CLI 控制檯視窗 |
| 示例 | EndCLI |
| ENDIF | |
|---|---|
| 格式 | ENDIF |
| 目的 | 結束 IF..ELSE..ENDIF 塊 |
| 示例 | If $Age GT 65 Else Endif |
| Endskip | |
|---|---|
| 格式 | Endskip |
| 目的 | 停止 SKIP 分支(用於除錯) |
| 示例 | Endskip |
| 評估 | |
|---|---|
| 格式 | Eval Value1/A Op Value2/M To/K LFormat/K |
| 目的 | 計算簡單的算術表示式 |
| 引數 |
|
| 示例 | Eval $count + 1 to env:count |
| 執行 | |
|---|---|
| 格式 | Execute File/A |
| 目的 | 執行指令碼或批處理檔案 |
| 引數 |
|
| 示例 | Execute PCD |
| Failat | |
|---|---|
| 格式 | Failat RCLIM/A |
| 目的 | 更改指令碼的失敗限制(0,5,10,20) |
| (0 - 正常,5 - 警告,10 - 錯誤,20 - 失敗) | |
| 引數 |
|
| 示例 | Failat 20 |
| 故障 | |
|---|---|
| 格式 | Fault Error/N/M |
| 目的 | 顯示來自程式碼的錯誤訊息 |
| 引數 |
|
| 示例 | Fault 221 |
| "Fault 221: Disk is full" | |
| FileNote | |
|---|---|
| 格式 | Filenote File/A Comment ALL/S QUIET/S |
| 目的 | 將註釋附加到檔案(見 LIST) |
| 引數 |
|
| 示例 | FileNote List.txt "A list of people's names" |
| 格式 | |
|---|---|
| 格式 | Format Device Drive/K/A Name/K/A OFS/FFS/SFS |
| DIRCACHE/S NODIRCACHE/S NOICONS/S QUICK/S | |
| 目的 | 初始化 AROS 磁碟(在系統抽屜中) |
| 引數 |
|
| 示例 | format drive dh0: name AROS Format Drive DH2: Name Docs SFS NOICONS QUICK |
| 獲取 | |
|---|---|
| 格式 | Get Name/A |
| 目的 | 返回本地 env 變數的內容 |
| 引數 |
|
| 示例 | Get RC |
| Getenv | |
|---|---|
| 格式 | Getenv Name/A |
| 目的 | 返回全域性環境變數的內容 |
| 引數 |
|
| 示例 | Getenv Wanderer |
| Iconx | |
|---|---|
| 格式 | Iconx |
| 目的 | 使指令碼可以從 Workbench 執行。該指令碼必須具有一個 Project .info 檔案,並且 |
| 預設工具設定為 c:IconX 以執行它。 | |
| 示例 | Iconx |
| 如果 | |
|---|---|
| 格式 | If NOT/S WARN/S ERROR/S FAIL/S EQ/K GT/K GE/K VAL/S EXISTS/K |
| 目的 | 如果條件為真,則執行以下命令,直到遇到 ELSE 或 ENDIF。 |
| 引數 |
|
| 示例 | IF WARN, IF $count GT 10, IF EXISTS C:List |
| 資訊 | |
|---|---|
| 格式 | Info Device |
| 目的 | 顯示有關磁碟的資訊 |
| 引數 |
|
| 示例 | 資訊 DH0 |
| 安裝 | |
|---|---|
| 格式 | 安裝裝置/A NOBOOT/S CHECK/S FFS/S |
| 目的 | 將啟動塊儲存到磁碟。如果只有一個驅動器型別 INSTALL ? 並且 |
| 交換磁碟,然後輸入 DF0: 並按 RETURN 儲存啟動塊。 | |
| 引數 |
|
| FFS = 使用快速檔案系統。 | |
| 示例 | 安裝 DH0 |
| IPrefs | |
|---|---|
| 格式 | IPrefs |
| 目的 | 啟動時初始化首選項檔案。 |
| 示例 | IPrefs |
| 加入 | |
|---|---|
| 格式 | 加入檔案/M/A AS=TO/K/A |
| 目的 | 將兩個或多個檔案合併在一起。 |
| 引數 |
|
| 示例 | 將 File1 File2 File3 合併為 FileFull |
| 標籤 | |
|---|---|
| 格式 | 標籤標籤 |
| 目的 | 在指令碼中指定一個要跳過的標籤 |
| 引數 |
|
| 示例 | 標籤 PROC2 |
| 清單 | |
|---|---|
| 格式 | 列出 Dir/M P=PAT/K KEYS/S DATES/S NODATES/S To/K Sub/K Since/K Upto/K |
| QUICK/S BLOCK/S NOHEAD/S FILES/S DIRS/S LFORMAT/K ALL/S | |
| 目的 | 列出目錄中的檔案詳細資訊。 |
| 引數 |
|
| 示例 | 列出開發:塊 日期 自=01-Jul-00 |
| 鎖定 | |
|---|---|
| 格式 | 鎖定驅動器/A ON/S OFF/S 密碼 |
| 目的 | 阻止裝置寫入。 |
| 引數 |
|
| 示例 | 鎖定 DH1: 開 GHK459 |
| 建立目錄 | |
|---|---|
| 格式 | 建立目錄 名稱/M |
| 目的 | 建立一個或多個新目錄。 |
| 引數 |
|
| 示例 | 建立目錄 DH1:Docs DH1:Basic DH0:TempFiles |
| 建立連結 | |
|---|---|
| 格式 | 建立連結 從/A 到/A HARD/S FORCE/S |
| 目的 | 在檔案之間建立邏輯連結 |
| 引數 |
|
| 示例 | 建立連結 T C:Type 硬 |
| 掛載 | |
|---|---|
| 格式 | 掛載 裝置/M 從/K |
| 目的 | 載入並掛載裝置 |
| 引數 |
|
| 示例 | 掛載 DEVS:CD0 |
| 新Shell | |
|---|---|
| 格式 | 新Shell 視窗 從 |
| 目的 | 開啟一個新的 Shell 控制檯 (CON) 視窗 |
| 引數 |
|
| 示例 | 新Shell 從 S:Shell-Startup |
| 路徑 | |
|---|---|
| 格式 | 路徑 路徑/M ADD/S SHOW/S RESET/S REMOVE/S QUIET/S |
| 目的 | 設定或更改程式搜尋路徑 |
| 引數 |
|
| 示例 | 路徑 SC:C 新增 |
| 提示 | |
|---|---|
| 格式 | 提示 提示 |
| 目的 | 更改提示文字(程式碼:%R = 上次返回值, |
| %S = 當前路徑,%N = CLI 號碼) | |
| 引數 |
|
| 示例 | 提示 "%N.%S> " |
| 保護 | |
|---|---|
| 格式 | 保護 檔案/A 標誌 ADD/S SUB/S ALL/S QUIET/S |
| 目的 | 更改檔案的“rwedsp”標誌。(r=讀,w=寫,e=執行,d=刪除,s=指令碼,p=純) |
| 引數 |
|
| 示例 | 保護 編輯器 rwed |
| 退出 | |
|---|---|
| 格式 | 退出 RC/N |
| 目的 | 退出指令碼,並帶可選返回值 |
| 引數 |
|
| 示例 | 退出 5 |
| 重新命名 | |
|---|---|
| 格式 | 重新命名 驅動器/A 名稱/A |
| 目的 | 更改磁碟名稱 |
| 引數 |
|
| 示例 | 重新命名 DH2: Documents |
| 重新命名 | |
|---|---|
| 格式 | 重新命名 從/A/M 到=作為/A QUIET/S |
| 目的 | 重新命名或移動一個或多個檔案 |
| 引數 |
|
| 示例 | 重新命名 MyDoc 為 MyDoc.doc |
| 請求選擇 | |
|---|---|
| 格式 | 請求選擇 標題/A 正文/A 小工具/M PubScreen/K |
| 目的 | 透過請求器詢問輸入 |
| 引數 |
|
| 示例 | 請求選擇 >ENV:RT "格式" "即將格式化硬碟*n確認嗎?" "繼續" "絕不!" |
| 請求檔案 | |
|---|---|
| 格式 | 請求檔案 抽屜 檔案/K 模式/K 標題/K 肯定/K 否定/K 接受模式/K 拒絕模式/K |
| SAVEMODE/S MULTISELECT/S DRAWERSONLY/S NOICONS/S PUBSCREEN/K | |
| 引數 |
|
| 目的 | 透過 ASL 檔案請求器詢問檔名 |
| 示例 | 請求檔案 >ENV:File 標題 "選擇檔案" 肯定 "載入" Noicons |
| 駐留 | |
|---|---|
| 格式 | 駐留 名稱 檔案 REMOVE/S ADD/S REPLACE/S PURE=FORCE/S SYSTEM/S |
| 目的 | 將 AmigaDOS 命令儲存在記憶體中(比每次執行時從磁碟重新載入更快)。 |
| 要確保可以使命令駐留,請檢查純標誌(參見列表)。 | |
| 引數 |
|
| 示例 | 駐留 C:Dir 純 |
| 執行 | |
|---|---|
| 格式 | 執行 命令/F |
| 目的 | 在後臺執行程式(多工) |
| 引數 |
|
| 示例 | 執行 DirectoryOpus > NIL |
| 搜尋 | |
|---|---|
| 格式 | 搜尋 從/M 搜尋/A ALL/S NONUM/S QUIET/S QUICK/S FILE/S PATTERN/S |
| 目的 | 在磁碟上的檔案或檔案中搜索字串 |
| 引數 |
|
| 示例 | 搜尋 SYS: "List" 檔案 全部 |
| 設定 | |
|---|---|
| 格式 | 設定 名稱 字串/F |
| 目的 | 設定或列出本地環境變數(本地於當前 shell 或當前程序) |
| 引數 |
|
| 示例 | 設定 MyName "Peter" |
| 設定時鐘 | |
|---|---|
| 格式 | 設定時鐘 LOAD/S SAVE/S RESET/S |
| 目的 | 從電池供電的時鐘載入或設定日期和時間 |
| 引數 |
|
| 示例 | 日期 27-Nov-00 10:00,設定時鐘 儲存 |
| 設定日期 | |
|---|---|
| 格式 | 設定日期 檔案/A 星期幾 日期 時間 ALL/S |
| 目的 | 設定檔案或目錄的日期(參見列表) |
| 引數 |
|
| 示例 | 設定日期 DEVS: 星期一 10:30 |
| 設定環境 | |
|---|---|
| 格式 | 設定環境 名稱 字串/F |
| 目的 | 更改環境變數的內容 |
| 引數 |
|
| 示例 | 設定環境 Wanderer "44" |
| 設定鍵盤 | |
|---|---|
| 格式 | 設定鍵盤 鍵盤對映/A |
| 目的 | 使用 Devs:Keymaps 中的佈局設定鍵盤佈局。您可以改用輸入首選項。 |
| 引數 |
|
| 示例 | 設定鍵盤 USA0 |
| 跳過 | |
|---|---|
| 格式 | 跳過 標籤 BACK/S |
| 目的 | 跳到指令碼中的標籤(參見標籤)。如果標籤出現在跳過命令之前,請使用後退。 |
| 引數 |
|
| 示例 | 跳過 Lab2 後退 |
| 排序 | |
|---|---|
| 格式 | 排序 從/A 到/A Colstart/K CASE/S NUMERIC/S |
| 目的 | 對檔案進行排序,並將結果輸出到新檔案 |
| 引數 |
|
| |
| 示例 | 排序 Figures 到 SortedFigures 數字 |
| 堆疊 | |
|---|---|
| 格式 | 堆疊 大小/N |
| 目的 | 更改/顯示以位元組為單位的堆疊空間量。 |
| 引數 |
|
| 示例 | 堆疊 1000000 |
| 狀態 | |
|---|---|
| 格式 | 狀態 程序/N FULL/S TCB/S CLI=ALL/S COM=COMMAND/K |
| 目的 | 顯示正在執行的程式的狀態。TCB 是任務控制塊 |
| 引數 |
|
| 示例 | 狀態 2 全部 |
| 型別 | |
|---|---|
| 格式 | N/K HEX/S NUMBER/S |
| 目的 | 在螢幕上顯示文字檔案的內容,並使用十六進位制顯示二進位制檔案,並帶可選行號。 |
| 引數 |
|
| 示例 | 型別 C:DIR 十六進位制 |
| 取消設定 | |
|---|---|
| 格式 | 取消設定 名稱 |
| 目的 | 刪除本地環境變數 |
| 引數 |
|
| 示例 | 取消設定 MyName |
| 取消設定環境 | |
|---|---|
| 格式 | 取消設定環境 名稱 |
| 目的 | 刪除全域性環境變數 |
| 引數 |
|
| 示例 | 取消設定環境 Wanderer |
| 取消別名 | |
|---|---|
| 格式 | 取消別名 名稱 |
| 目的 | 刪除命令的簡短名稱 |
| 引數 |
|
| 示例 | 取消別名 MyDir |
| 版本 | |
|---|---|
| 格式 | 版本 名稱 版本/N 修訂版/N FILE/S FULL/S 單位/N INTERNAL/S RES/S |
| 目的 | 顯示工作臺、庫或裝置版本資訊。 |
| 引數 |
|
| |
| 示例 | 版本 kickstart 版本=39 修訂版=106 |
| 等待 | |
|---|---|
| 格式 | 等待 時間/N SEC=SECS/S MIN=MINS/S UNTIL/K |
| 目的 | 等待指定的時間段 |
| 引數 |
|
| 示例 | 等待 直到 12:00 |
| 哪個 | |
|---|---|
| 格式 | 哪個 檔案/A NORES/S RES/S ALL/S |
| 目的 | 查詢檔案在命令路徑中的位置(參見路徑),並設定警告標誌。 |
| 引數 |
|
| 示例 | 哪個 Multiview |
| 為什麼 | |
|---|---|
| 格式 | 為什麼 |
| 目的 | 顯示之前命令失敗的原因 |
| 示例 | 為什麼 |
其他 DOS 命令
[edit | edit source]DMS Format: DMS Read file[.DMS] [FROM dev:] [TEXT filetext] [CMODE mode] [LOW lowtrack] [HIGH hightrack] [NOVAL] [NOZERO] [ENCRYPT password] DMS Write file[.DMS],,, [TO dev:] [LOW lowtrack] [HIGH hightrack] [NOVAL] [NOTEXT] [NOPAUSE [DECRYPT password] DMS Repack file[.DMS] [TO dev:] [LOW lowtrack] [HIGH hightrack] [CMODE mode] DMS View file[.DMS],,, [FULL] DMS Text file[.DMS],,, DMS Test file[.DMS],,, DMS Help Purpose: To read, write or view Disk Masher disk images of floppy disks. Example: DMS Write MyDisk.DMS FROM DF0: Installer Format: Installer [SCRIPT] filename <[APPNAME] name> <[MINIUSER] level> <[DEFUSER] default> <[LOGFILE] logname> <[LANGUAGE] language> <NOPRETEND> <NOLOG> <NOPRINT> Purpose: To install an application via a installer script. Usually provided as a default tool for script files in icon. Example: Installer SCRIPT InstallApp APPNAME MyProgram LOGFILE DH0:MyProgram.log LHA Format: LHA [-options] <command> <archive[.LZH|LHA]> [[homedir] <filespec...] [@file] [destination] Purpose: To create, modify or list LHA or LZH files Examples: LHA a pictures.lha #?.jpg (archives all jpg files into pictures.lha) LHA l pictures.lha (lists all files in pictures.lha) LHA x pictures.lha (extracts all files from pictures.lha) LZX Format: LZX [-options] <command> <archive> [<file> ...] [<destdir>] Purpose: To create, modify or list LZX archive files. Examples: LZX a documents.lzx #?.doc (archives all doc files into documents.lzx) LZX l documents.lzx (lists all files in documents.lzx) LZX x documents.lzx (extracts all files from documents.lzx)
Clear Screen Example: Echo "*E[0;0H*E[J" Purpose: Clears the screen. Uses printer commands to control text formatting in CLI, so *E is equivalent to ESC character.The command clear is normally defined using an Alias or an AmigaDOS script in S: folder. Text in Italics Example: Echo "*E[3mItalics*E[23m" Purpose: *E[3m turns on italics and *E[23m turns off italics Text in Bold Example: Echo "*E[1mBold*E[22m" Purpose: *E[1m turns on bold, and *E[22m turns off bold. Underline Text Example: Echo "*E[4mUnderline*E[24m" Purpose: *E[4m turns on underline, and *E24m turns off underline. Coloured Text Example: Echo "*E[32mRed Text*E[0m" Purpose: *E[nm where n=30-39 for foreground color or n=40-49 for background colour. *E[0m resets to normal character set.
似乎 Amiga Shell 允許轉義序列以 0x9B 字元開頭,或者允許使用更傳統的 0x1B 字元(八進位制為 033)後跟 [ 字元。為了清晰起見,我將用 C 字串 \033[ 表示它。
AROS 不理解 \033[0m 序列,因此您需要使用另一個顏色序列來重置它(假設使用者沒有更改預設的 Shell 顏色)。結果是 \033[31;40m。為了安全起見,最好在它後面加上(在 AROS 中被忽略的)\033[0m 序列。
因此,我的最終高亮程式碼如下所示
printf("Before\033[32;43mDuring\033[31;40m\033[0mAfter\n");
或者,如果您用 E 編碼(像我一樣),則它就是這個
PrintF('Before\e[32;43mDuring\e[31;40m\e[0mAfter\n')
| AddAudioModes | |
|---|---|
| 格式 | |
| 目的 | |
| 引數 | Files/M Quiet/S Refresh/S Remove/S DblScan/S |
| 示例 | |
| Beep | |
|---|---|
| 格式 | |
| 目的 | |
| 引數 | |
| 示例 | |
| CheckMem | |
|---|---|
| 格式 | |
| 目的 | |
| 引數 | |
| 示例 | |
| Delay | |
|---|---|
| 格式 | |
| 目的 | |
| 引數 | Time/N Tick=Ticks/S |
| 示例 | |
| DevList | |
|---|---|
| 格式 | DevList |
| 目的 | 列出正在執行的裝置 - 地址、版本、修訂版、opencnt、標誌、名稱 |
| 引數 | |
| 示例 | devlist |
| LibList | |
|---|---|
| 格式 | LibList |
| 目的 | 給出開啟的庫和 mui 的地址、版本、修訂版、opencnt、標誌、名稱 |
| 引數 | |
| 示例 | liblist |
| Reboot | |
|---|---|
| 格式 | Reboot |
| 目的 | 熱重啟機器 - 不起作用 |
| 引數 | |
| 示例 | |
| ResList | |
|---|---|
| 格式 | reslist |
| 目的 | 列出資源 - 名稱和地址 |
| 引數 | |
| 示例 | reslist |
| Shutdown | |
|---|---|
| 格式 | shutdown |
| 目的 | 關閉計算機 |
| 引數 | |
| 示例 | 不工作 |
| TaskList | |
|---|---|
| 格式 | tasklist |
| 目的 | 列出正在執行的任務 - 地址、型別、優先順序、狀態、cpu、時間、堆疊、使用情況、名稱 |
| 引數 | |
| 示例 | tasklist |
有沒有辦法一次解壓縮多個,比如 10 個壓縮存檔
list #?.zip lformat "unzip %N" >script
execute script
Resident >NIL: C:RequestChoice PURE
Resident >NIL: C:RequestFile PURE
; $VER: DMSMaker v1.0 (11.7.96) Richard Burke
lab Start
if EXISTS ENV:Choice
delete ENV:Choice >NIL:
endif
if EXISTS ENV:Tst
delete ENV:Tst >NIL:
endif
if EXISTS ENV:V
delete ENV:V >NIL:
endif
if EXISTS ENV:Re
delete ENV:Re >NIL:
endif
if EXISTS ENV:DMS
delete ENV:DMS >NIL:
endif
if EXISTS ENV:De
delete ENV:De >NIL:
endif
if EXISTS ENV:DeDev
delete ENV:DeVol >NIL:
endif
if EXISTS ENV:Cr
delete ENV:Cr >NIL:
endif
if EXISTS ENV:CrSv
delete ENV:CrSv >NIL:
endif
if EXISTS ENV:Mode
delete ENV:Mode >NIL:
endif
if EXISTS ENV:Mode1
delete ENV:Mode1 >NIL:
endif
which DMS all >ENV:DMS
RequestChoice >ENV:Choice "Welcome!" "Welcome to the DMSMaker! Choose an action" "Crunch" "Decrunch" "Repack" "View" "Test" "Quit"
if $Choice EQ 1
lab Dev
RequestFile >ENV:Cr DRAWERSONLY TITLE "Choose DEVICE to crunch" POSITIVE "Crunch" NEGATIVE "Return to menu"
if WARN
skip Start BACK
endif
if NOT EXISTS $Cr
echo "DEVICE does not exist! Choose again!"
skip Dev BACK
endif
RequestChoice >ENV:Mode1 "Crunch Mode" "Choose degree of crunching" "Best" "None" "Heavy1" "Heavy2" "Return to menu"
if WARN
skip Start BACK
endif
if $Mode1 EQ 1
echo "BEST" >ENV:Mode
endif
if $Mode1 EQ 2
echo "NONE" >ENV:Mode
endif
if $Mode1 EQ 3
echo "HEAVY1" >ENV:Mode
endif
if $Mode1 EQ 4
echo "HEAVY2" >ENV:Mode
endif
RequestFile >ENV:CrSv TITLE "Save crunched file as..." ACCEPTPATTERN "#?.dms" FILE ".dms" POSITIVE "Save" NEGATIVE "Return to menu"
if WARN
skip Start BACK
endif
$DMS read $CrSv FROM $Cr CMODE $Mode
echo "File crunched!"
endif
if $Choice EQ 2
lab Dec
RequestFile >ENV:De TITLE "Choose FILE to decrunch" ACCEPTPATTERN "#?.dms" POSITIVE "Decrunch" NEGATIVE "Return to menu"
if WARN
skip Start BACK
endif
if NOT EXISTS $De
echo "FILE does not exist! Choose again!"
skip Dec BACK
endif
lab DecDev
RequestFile >ENV:DeDev TITLE "Choose DEVICE to decrunch TO" DRAWERSONLY POSITIVE "Write" NEGATIVE "Return to menu"
if WARN
skip Start BACK
endif
if NOT EXISTS $DeDev
echo "DEVICE does not exist! Choose again!"
skip DecDev BACK
endif
$DMS write $De TO $DeDev
echo "File decrunched!"
endif
if $Choice EQ 3
lab Rep
RequestFile >ENV:Re TITLE "Choose FILE to repack" ACCEPTPATTERN "#?.dms" POSITIVE "Repack" NEGATIVE "Return to menu" FILE ".dms"
if WARN
skip Start BACK
endif
if NOT EXISTS $Re
echo "File does not exist! Choose again!"
skip Rep BACK
endif
RequestChoice >ENV:Mode1 "Crunch Mode" "Choose degree of crunching" "Best" "None" "Heavy1" "Heavy2" "Return to menu"
if WARN
skip Start BACK
endif
if $Mode1 EQ 1
echo "BEST" >ENV:Mode
endif
if $Mode1 EQ 2
echo "NONE" >ENV:Mode
endif
if $Mode1 EQ 3
echo "HEAVY1" >ENV:Mode
endif
if $Mode1 EQ 4
echo "HEAVY2" >ENV:Mode
endif
RequestFile >ENV:CrSv TITLE "Save repacked file as..." ACCEPTPATTERN "#?.dms" FILE ".dms" POSITIVE "Save" NEGATIVE "Return to menu"
if WARN
skip Start BACK
endif
$DMS repack $Re TO $CrSv CMODE $Mode
echo "File repacked!"
endif
if $Choice EQ 4
lab View
RequestFile >ENV:V TITLE "Choose DMS FILE to view" POSITIVE "View" NEGATIVE "Return to menu" ACCEPTPATTERN "#?.dms" FILE ".dms"
if WARN
skip Start BACK
endif
if NOT EXISTS $V
echo "FILE does not exist! Choose again!"
skip View BACK
endif
$DMS view $V
endif
if $Choice EQ 5
lab Test
RequestFile >ENV:Tst TITLE "Choose FILE to test" ACCEPTPATTERN "#?.DMS" POSITIVE "Test" NEGATIVE "Return to menu" FILE ".dms"
if WARN
skip Start BACK
endif
if NOT EXISTS $Tst
echo "FILE does not exist! Choose again!"
skip Test BACK
endif
$DMS test $Tst
endif
if $Choice EQ 0
skip End
endif
skip Start BACK
lab End
quit
resident >nil: c:search PURE
resident >nil: c:requestfile PURE
resident >nil: c:requestchoice PURE
resident >nil: c:echo PURE
resident >nil: c:copy PURE
resident >nil: c:type PURE
; $VER: HappySearch v1.0 (25.4.97) Richard Burke
requestchoice >env:int "HappySearch" "HappySearch searches the specified device/drawer*nto see if any files have been infected with the*n'Happy New Year 96!' virus, and informs of any*ninfected files it finds. Such files will have the*nvirus name printed below them in the scanned file*nlisting." "Okay" "Quit"
if $int EQ 0
quit
endif
lab beg
if exists env:mo
delete >nil: env:mo
endif
if exists env:disp
delete >nil: env:disp
endif
if exists env:dev
delete >nil: env:dev
endif
if exists env:hap
delete >nil: env:hap
endif
if exists env:sav1
delete >nil: env:sav1
endif
if exists env:rec
delete >nil: env:rec
endif
if exists env:sav
delete >nil: env:sav
endif
if exists env:int
delete >nil: env:int
endif
requestfile >env:dev TITLE "Choose drawer to search:" POSITIVE Search DRAWERSONLY
if warn
quit
endif
requestchoice >env:disp "Save?" "Results will be printed to screen.*nSave results to file too?*n(This is recommended)" "Yes" "No"
if $disp EQ 1
requestfile >env:sav TITLE "Location:" POSITIVE Save DRAWER RAM: FILE Happy.tmp
echo $sav >env:sav1
endif
requestchoice >env:rec "Recurse?" "Search sub-directories recursively?" "Yes" "No"
if $rec EQ 1
echo "Scanning files . . ."
search $dev "Happy New Year 96!" ALL >env:hap
else
echo "Scanning files . . ."
search $dev "Happy New Year 96!" >env:hap
endif
echo "Files scanned:"
type env:hap
if $disp EQ 0
delete >nil: env:hap
else
copy >nil: env:hap $sav1
echo "File listing saved as *e[33m$sav1*e[0m"
endif
requestchoice >env:mo "More?" "Scan another drawer?" "Yes" "No"
if $mo EQ 1
skip beg back
endif
if exists env:mo
delete >nil: env:mo
endif
if exists env:disp
delete >nil: env:disp
endif
if exists env:dev
delete >nil: env:dev
endif
if exists env:hap
delete >nil: env:hap
endif
if exists env:sav1
delete >nil: env:sav1
endif
if exists env:rec
delete >nil: env:rec
endif
if exists env:sav
delete >nil: env:sav
endif
if exists env:int
delete >nil: env:int
endif
quit