Post view

MS-DOS 7.0 輕鬆學 for Windows 95 - 9:後現代 MS-DOS-3

MS-DOS 7.0 輕鬆學 for Windows 95 - 9:後現代 MS-DOS-3

9.jpg

Lock新指令

MS-DOS 7.x新增了兩個內部指令LOCK及UNLOCK,用來解決某些程式會直接變更16-bit FAT檔案配置表的問題,特別是舊時代的Windows 3.1及MS-DOS 6.22以前的磁碟工具程式,比方說DOS 6.x提供的Undelete指令就不能直接執行。

當MS-DOS 7.x發現使用者執行可能會危及VFAT系統的程式,就會以唯一的鎖定電腦處理!故意當機!你唯一能做的就是重新啟動電腦。

比方講在Windows底下直接執行Norton Utilities的DS目錄排序程式就會看到底下這樣的畫面:

diskerror.png

舊的磁碟工具寫入錯誤!

您使用的磁碟工具是為舊版MS-DOS或Windows環境設計的。要是讓工具程式把資料寫入磁碟,得小心檔案可能會被破壞。如果要執行程式但不要把資料寫入磁碟,請按一下  ,要停止執行請按  。當然選「否」啦!
要是用MS-DOS 7.x開機片直接啟動DOS,再執行相同的工具程式,則會看到這樣的畫面:

Windows has disabled direct disk access to protect your long filename.
To override this protection, see the LOCK /? Command for more information.

The system has been halted. Press Ctrl+Alt+Del to restart your computer.

Windows為保護長檔名關掉了直接存取磁碟機制,要改變這個磁碟保護,請參考LOCK /? 指令的說明。現在電腦系統已經中止執行,請按 Ctrl + Alt + Del 鍵重新啟動電腦吧!

如果您確定該磁碟或工作目錄並未使用任何長檔名,而且希望執行Undelete之類的程式(因為資源回收筒無法救回在MS-DOS模式直接刪掉的檔案)就可以用Lock及Unlock來解決這類的問題。新指令的用法如下:

C:\WINDOWS>lock /? Enter
Locks a drive, enabling direct disk access for an application.

  LOCK [drive:]

C:\WINDOWS>unlock /? Enter
Unlocks a drive, disabling direct disk access for an application.

  UNLOCK [drive:]

C:\WINDOWS>lock c: Enter

WARNING: The LOCK command enables direct disk access by programs
that can CORRUPT file names and/or DESTROY disk data, resulting in the
loss of files on your disk.

Are you sure (Y/N)?y

C:\WINDOWS>_

* Lock可以鎖定使用者指定的磁碟,並打開該磁碟直接存取FAT功能讓應用程式直接操作硬碟。

* Unlock可以鎖開使用者指定的磁碟,並關閉應用程式直接存取該磁碟FAT的功能。使用Lock之後請務必記得再執行Unlock。

由於Lock和Unlock必須成對使用,建議您寫一個簡單的批次檔來執行所需的磁碟工具程式,譬如底下的DIRSORT.BAT:

        @echo off
        lock c:
        ds %1
        unlock c:

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