imdisk -a -f 磁碟代號\win8.iso -m #:

請問一下
關於上方有底線磁碟代號的部分
有辦法能自動辨別原本bat檔執行路徑的磁碟代號
然後自動替換到上方指令中的磁碟代號中嗎?
謝謝
文章關鍵字
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\win8.iso
(
SET Drive=%%i
)

我不是高手,但之前有用過類似方法…
chris0111 wrote:
imdisk -a -f 磁碟代號\win8.iso -m #:

請問一下
關於上方有底線磁碟代號的部分
有辦法能自動辨別原本bat檔執行路徑的磁碟代號
然後自動替換到上方指令中的磁碟代號中嗎?


改成如下:
imdisk -a -f %~d0\win8.iso -m #:
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4
樓主是想把 imdisk 當虛擬光碟用吧

你的問題,我不知道

但如果你的「虛擬磁碟映像檔」很多,這邊提供我的一種另類作法:

註:研究很久,才想出的終極便利方法,保證好用。

詳細參考這篇,(補充02 的部份):
[教學] 將PC遊戲封裝成img檔,掛載為虛擬磁碟或載入RAM中玩


這個方法是這樣的:

乾脆自己定義一種獨一無二的"副檔名",滑鼠雙擊這種副檔名的檔案,就會自動掛載!


比方說:



上圖:那每一個映像檔,其實都是一份遊戲,一個檔案都有好幾 GB 大小

將遊戲封裝成一個映像檔,好處是:備份、管理方便。拷貝一個檔案就是一份遊戲,不用拷貝幾萬個小檔。

要玩的時候,不必解壓縮,點兩下就掛載到 Z: 槽,過程僅需 2秒不到,然後就可以開始玩了。

進階應用,可以先把 *.game 拷貝到 RAMDisk,點兩下掛載。整個遊戲在 RAMDisk 跑。


遊戲只是一個範例,映像檔的應用不只遊戲,包括軟體、OS、ISO ....什麼的,都可以這樣封裝起來。用起來就會很方便


副檔名 .game 是怎麼回事(從來沒看過阿)?
怎麼還有搖桿圖案?

因為:那是我自行定義的副檔案,所以你一定沒看過

什麼!?自行定義副檔名,有可能嗎?

可以的,但是要修改(或匯入)機碼,別的軟體安裝也都是這麼做的,了解原理就能 DIY。

**************************************************

說說原理:

註:原理覺得煩可以跳過,有直接無腦安裝的 .exe 檔。


機碼 [HKEY_CLASSES_ROOT] 底下,可以自行定義副檔名
指定這種副檔名的檔案,是什麼用途,叫什麼名稱

然後可以指定一個軟體,去開啟這個副檔名
軟體可以是 cmd (BAT)腳本檔
寫腳本檔並不困難,無壓力
順便可以指定預設的圖示檔案(ico 圖檔)

整個匯入機碼的部份,類似這樣:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.game]
@="game_auto_file"
"PerceivedType"="compressed"


[HKEY_CLASSES_ROOT\Applications\mountToZ.cmd]

[HKEY_CLASSES_ROOT\Applications\mountToZ.cmd\DefaultIcon]
@="C:\\Program Files\\MountToZ\\game.ico"

[HKEY_CLASSES_ROOT\Applications\mountToZ.cmd\shell]

[HKEY_CLASSES_ROOT\Applications\mountToZ.cmd\shell\open]

[HKEY_CLASSES_ROOT\Applications\mountToZ.cmd\shell\open\command]
@="\"C:\\Program Files\\MountToZ\\mountToZ.cmd\" \"%1\""


[HKEY_CLASSES_ROOT\game_auto_file]
@=""

[HKEY_CLASSES_ROOT\game_auto_file\DefaultIcon]
@="C:\\Program Files\\MountToZ\\game.ico"

[HKEY_CLASSES_ROOT\game_auto_file\shell]

[HKEY_CLASSES_ROOT\game_auto_file\shell\open]

[HKEY_CLASSES_ROOT\game_auto_file\shell\open\command]
@="\"C:\\Program Files\\MountToZ\\mountToZ.cmd\" \"%1\""



我是將 .game 這種副檔名,交給 mountToZ.cmd 這支腳本檔去處理。當然的這腳本是自己寫的。

mountToZ.cmd 內容為以下:

@echo off

color 2f

echo.
echo 遊戲自動掛載中,請稍後...
echo.
echo (需時約5秒,請勿關閉此視窗)
echo.
echo.
echo 執行進度:
echo ------------------------------------
echo.

echo 1) 卸載 Z 槽...
echo.
imdisk -D -m Z:
echo.

echo 2) 掛載遊戲到 Z 槽...
echo.
imdisk -a -f %1 -m Z:
echo.

echo 3) 完成!
start explorer.exe Z:



1.不論 z: 槽原先有沒有掛載映像檔,都強制卸載

2.然後將點兩下的 *.gmae 檔,掛載到 Z:

使用 Z: 代號,是因為最號一個代號,會與現有磁碟代號衝突的可能性比較低。


以上的構想,可以用 winRAR 或 7zip,做成一個自解壓縮檔。.exe 的形態,讓用戶可以自行安裝。用戶不必了解任何原理,無腦的安裝那個 .exe 檔後,以後 *.gmae 的檔案,就是點兩下自動掛載。

而 *.game 檔,其實就是 imdisk 可以掛載的映像檔,把檔案重新命名,直接改副檔名就好了。


有興趣的話,上面那個連結,補充02的地方,有附加檔案,直接下載就可以了。內含那個 .exe 檔,和所有原始碼。


當然的,遊戲只是一個範例,映像檔的應用不只遊戲,包括軟體、OS、ISO ....什麼的,都可以這樣封裝起來。用起來就會很方便。

包括,要把 imdisk 當成更方便的虛擬光碟,也可以把 *.iso 副檔名,指定給那個腳本去開。(不過這樣會被其它也能開 *.iso 的軟體,蓋掉的機率很高,最好是獨創一個副檔名)

腳本也是可以修改的,彈性很大,比如若不喜歡每次都掛載到 Z:,想掛載到 X: Y: 什麼的,修改腳本就好了。


已知缺點:
自己寫的腳本檔,比如:mountToZ.cmd
會被某些防木馬軟體,例如 360 安全衛士,列為可疑程式....
因為它不認得那個腳本是幹嘛的,所以會被列為可疑程式
這是可以理解的,因為那腳本檔是你自己寫的,它會認得才有鬼
不過在 360 中,是可以設定排除掉(信任)
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!