Post view

MS-DOS 7.0 輕鬆學 for Windows 95 - 5:活用你的電腦-5

MS-DOS 7.0 輕鬆學 for Windows 95 - 5:活用你的電腦-5

5.jpg

DOS的環境變數

健忘的MS-DOS怕自己得了老年痴呆症,老是忘記使用者交待的工作,因此特別設計了“DOS環境變數”用來記錄MS-DOS指令的工作狀態及相關資訊,我們可以在DOS提示號底下直接輸入set Enter 指令,檢視環境變數的設置情形:

Msdos13.png

哇,好複雜!我們並沒有在AUTOEXEC.BAT開機檔設置任何自定的環境變數,因為我們的AUTOEXEC.BAT幾乎是空白的,因此這些變數還只是Windows 95內定的DOS環境變數。

C:\>set Enter    ← 顯示現有的 DOS 環境變數內容
TMP=C:\WINDOWS\TEMP              ← 指定臨時檔案的存放路徑
TEMP=C:\WINDOWS\TEMP             ← 指定暫存檔案的存放路徑
PROMPT=$p$g                      ← 設定 DOS提示號的顯示方式
winbootdir=C:\WINDOWS            ← 指示 Windows 的啟動路徑
COMSPEC=C:\WINDOWS\COMMAND.COM   ← 指定命令程式的路徑位置
SOUND=C:\PROGRA~1\CREATIVE\CTSND ← 設定聲霸卡的路徑
MIDI=SYNTH:1 MAP:E               ← 設定 MIDI的工作參數
windir=C:\WINDOWS                    ← 指定 Windows 路徑
BLASTER=A220 I5 D1 H5 P330 T6        ← 設定聲霸卡的工作參數
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND   ← 程式檔案的找尋路徑
CMDLINE=doskey erase=REM : Warning ! ← DOSKey 的命令列

C:\>_

環境變數Environment Variables,分為變數名稱及變數值兩個部份,比方說“TEMP=C:\WINDOWS\TEMP”那麼TEMP就是變數的名稱,而C:\WINDOWS\TEMP則是變數的值。環境變數的用法方式如下:

指令語法: 環境變數名稱=環境變數內容

要注意的是,變數名稱不區分英文字大小寫,temp、TeMp或TemP… 都是同一個變數。DOS會把變數內容忠實記錄下來,使用大小寫英文、數字、符號或中文字均可。另外,等號 = 兩端請不要加上任何空格字元,例如:

C:\>set name=Brent Enter      ← 設置一個新的 NAME 環境變數

C:\>set name = Andy Enter     ← 重新指定 NAME 變數的值

C:\>set dircmd=/P/L/OG Enter ← 指定 DIR 指令的內定選項

C:\>set copycmd=/-Y Enter     ← 設定 COPY 指令的預設選項

C:\>set Enter                 ← 看一下 DOS 環境變數的現況

結果發現我們增設了4個環境變數,而不是3個:

Msdos14.png

C:\Msdos>set Enter
TMP=C:\WINDOWS\TEMP
TEMP=C:\WINDOWS\TEMP
PROMPT=$p$g
:    :    :
NAME=Brent
NAME = Andy      ← 結果有兩個 NAME 變數
DIRCMD=/P/L/OG   ← 使dir Enter 有小寫、資料夾排序、自動暫停功能
COPYCMD=/-Y      ← 當拷貝目的地有相同檔名時,務必確認是否覆寫

C:\Msdos>_

為什麼會產生兩個NAME變數呢?理由其實很簡單,DOS雖然不會區分環境變數名稱的大小寫,但是會把“空格”當做名稱的一部份,因此會有“NAME”和“NAME  ”兩個變數。要是你重新輸入以下的指令:

C:\>set name= Jacky Enter   ← 把 NAME=Brent 換成 “ Jacky”

也只會把NAME環境變數的值,從原先的Brent換成Jacky而已,並不能改變另一個變數“NAME  ”的內容。
因此設置環境變數時,要注意“SET 環境變數=”等號左右兩邊不要輸入空格,否則會被當成另一個環境變數!刪掉環境變數的方法很簡單,在“SET 環境變數=”等號後面直接按 Enter 鍵不要指定變數的值即可。例如:

C:\>set name = Enter   ← 刪掉其中一個 “NAME ” 變數

C:\>set Enter          ← 查看一下,是不是只剩下一個 NAME 啦!

前面我們在DOS提示號底下,設置了DIR指令專用的DIRCMD環境變數,現在讓我們試試看DIRCMD的威力:

C:\>dir Enter     ← 只輸入 dir 指令即可等於 dir /P/L/OG

Msdos15.png

瞧,只輸入dir Enter 就同時有以小寫顯示、依資料夾和檔案分類排序、自動暫停顯示等3重功能,強悍吧!

最後要特別提醒您幾件小事:

・Windows的每個  MS-DOS模式視窗都是獨立作業的,在其中一個MS-DOS視窗設置的環境變數,並不能在另一個視窗裡使用。

・要設置供所有的MS-DOS模式視窗使用的環境變數,你必須把設置指令寫在AUTOEXEC.BAT開機時自動執行的批次檔裡。

・當你關掉  MS-DOS模式視窗時,用exit Enter 指令離開MS-DOS模式,或是用  滑鼠左鍵按下視窗右上角的  關閉鈕。Windows會自動清除在這個DOS視窗臨時設置的任何環境變數。

・環境變數需要佔用一點記憶體空間,當MS-DOS告訴您環境變數空間不足:Out of environment space的時候,可以用EDIT或記事本等文字編輯程式在CONFIG.SYS系統組態檔(文字檔)加上底下的指令,並重新開機以擴大環境變數的記憶體空間:

SHELL=C:\WINDOWS\COMMAND\COMMAND.COM C:\DOS\ /e:512 /p

自動化AUTOEXEC.BAT

想要在每次打開電腦時,讓電腦順便幫您做點什麼事嗎?比方說“自動”檢查電腦有沒有感染“電腦病毒”生病感冒啊?設置共用的環境變數、啟動鍵盤維他命DOSKey、裝好光碟機驅動程式或磁碟機快取程式等。

很簡單,只要把想做的工作寫在AUTOEXEC.BAT 就行了。這是一個只能放在C:\ 磁碟機底下特別的文字檔,因為MS-DOS只會固定在C:\ 底下找找看有沒有AUTOEXEC.BAT這個檔案,如果有找到的話,就會在開機時“自動”依開機檔的內容,一一執行各項DOS指令。

何謂自動

等等,這時候有學員舉手發問:「請問什麼是“自動”?」。我我、我我我 @#$%^&*… ;-)

看他一臉正經八百的樣子,好吧:「根據查閱“辭海”的結果,所謂“自動”就是“主動”的意思!」。比方講,我們可以設定微波爐要微波多少時間,當時間到的時候,微波爐就會自動停止並嗶嗶叫,或是你可以設定家裡的錄放影機,在每周1~5的每晚8:00pm ~ 9:00pm自動錄下八點檔連續劇,時間到就自動啟動,錄完則自動關閉。莫非他從未用過“自動化”電器產品?

也就是說,當我們按下電腦的  電源開關後,電腦就會自動執行使用者指定的工作,而不需要您再以“手動”的方式一一動手輸入指令,這就是電腦提供的“全自動”機制,懂了嗎?看起來好像還是不懂!好吧,要是他真的能找到比這本更簡單易懂的MS-DOS電腦書,請他儘管透過“滿意保證”服務,把書退回給作者,告訴我那本書寫得更好!

AUTOEXEC.BAT開機檔的製作方法如下:

 截至目前為止,我們還沒有學過EDIT文字編輯器,因此我們打算用最簡單的copy con指令來建立AUTOEXEC.BAT文字檔。但是要記住的是,copy con並不是專門用來建立AUTOEXEC.BAT或CONFIG.SYS開機檔的,這只是一個不得以的小技巧,可以暫時用用。等到你學會EDIT之後,請改用EDIT編輯程式,而不要再用copy con。

・請在MS-DOS提示號輸入以下的指令:

Msdos16.png

我們在AUTOEXEC.BAT檔設置了6個DOS指令,為了擔心黑底白字的視窗螢幕看不清楚,我們把畫面放大到書上並加以適當的註解,請跟著一塊做好嗎?要留意的是,請不要打錯字了,在同一列打錯了字,還可以用 Q 鍵移回去修正,要是按 Enter 鍵換列之後才發現打錯了,就只能提早按 ^ 和 Enter 鍵關掉檔案並重新輸入一次。

C:\Msdos>cd\ Enter     ← 製作 AUTOEXEC.BAT 前必須先回到 C:\

C:\>copy con autoexec.bat Enter   ← 以 copy con撰寫開機檔
Overwrite autoexec.bat (Yes/No/All)?y Enter ← 要覆寫舊檔
@echo off Enter
set dircmd=/P/L/OG Enter    ← 其實 DIR 選項也可以用小寫
set copycmd=/-Y Enter
set user=Brent Su. Enter
cls Enter
ver Enter
^Z Enter    ← 請按 F6 和 Enter 鍵結束檔案
        1 file(s) copied

C:\>_

・再次強調,AUTOEXEC.BAT和CONFIG.SYS開機檔只是一般的文字檔,我們可以用TYPE指令列出檔案內容:

C:\>type autoexec.bat Enter ← 檢查一下自動執行檔內容是否正確

・其實AUTOEXEC.BAT只是一般的DOS批次檔,當然也可以在MS-DOS提示號底下直接執行,你可以輸入以下的指令,試用一下全新AUTOEXEC.BAT開機檔感受:

C:\>autoexec Enter   ← 執行開機檔試用一下!

・要是沒有問題的話,應該會看到清除螢幕後並在畫面左上角顯示DOS版本號碼:Windows 95. [Version 4.00.950]。

・請用滑鼠左鍵按下  鈕並選取  指令以及“重新啟動電腦”這個選項,然後按下  重新開機。雖然你不會看到AUTOEXEC.BAT的執行過程,不過在進入  MS-DOS模式之後,就能享用新功能啦!

蘇言霖 09/25/2013 0 867
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
09/25/2013 (1878 days ago)
Actions