无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4031|回复: 19

[求助] PECMD MOUN如何自動建立目錄

[复制链接]
发表于 2018-5-3 19:04:38 | 显示全部楼层 |阅读模式
在PECMD的說明中 MOUN底下有此說明
※Mount目標目錄自動創建,加載只讀文件自動轉為只讀方式。
但我實在是看不出指令要如何KEY orz
有先進可以教一下嗎?
想把批次檔去掉 都用PECMD跑
发表于 2018-5-3 20:03:56 来自手机 | 显示全部楼层
具体要干什么?猜不到

点评

我還是延用NONAME XPE的WIM方法 個別或少數部程式分一個WIM 方便個別更新 然後跑個CMD 建立目錄及掛載WIM 我想看能不能把建立目錄的部份也一併用PECMD做 MOUN及LOAD .ini部份 用FORX去跑即可 但目錄名要如何用  详情 回复 发表于 2018-5-3 22:48
回复

使用道具 举报

发表于 2018-5-3 21:20:03 | 显示全部楼层
我都是用MDIR创建的目录
回复

使用道具 举报

发表于 2018-5-3 21:22:33 | 显示全部楼层
没有用过!以前用过!当时IMDISK还不能挂载WIM呢!
回复

使用道具 举报

 楼主| 发表于 2018-5-3 22:48:16 | 显示全部楼层
红毛樱木 发表于 2018-5-3 20:03
具体要干什么?猜不到

我還是延用NONAME XPE的WIM方法
個別或少數部程式分一個WIM 方便個別更新
然後跑個CMD 建立目錄及掛載WIM
我想看能不能把建立目錄的部份也一併用PECMD做
MOUN及LOAD .ini部份 用FORX去跑即可
但目錄名要如何用變量去建立相對應名稱我就不知道了...
  FOR /F "delims=" %%i IN ('dir /b/s WIMMOD\*.wim') Do (
      MD "y:\%%~ni"
      PECMD MOUN %%i,Y:\%%~ni,1,%TEMP%
    )
  FOR /F "delims=" %%i IN ('dir /b/s WIMMOD_x64\*.wim') Do (
      MD "y:\%%~ni"
      PECMD MOUN %%i,Y:\%%~ni,1,%TEMP%
    )

echo. >> %windir%\outtool.ini
FOR /F "delims=" %%i IN ('dir /b /s y:\outtool.ini') Do echo LOAD "%%i" >> %windir%\outtool.ini
echo. >> %windir%\outtool.ini

点评

CMD和BAT我是真看不懂的。你直接说要干什么事。  详情 回复 发表于 2018-5-3 22:54
回复

使用道具 举报

发表于 2018-5-3 22:54:52 | 显示全部楼层
saiz 发表于 2018-5-3 22:48
我還是延用NONAME XPE的WIM方法
個別或少數部程式分一個WIM 方便個別更新
然後跑個CMD 建立目錄及掛載W ...

CMD和BAT我是真看不懂的。你直接说要干什么事。

点评

我把WIM都放在三個目錄下 我想要自動找這3個目錄下的WIM檔 建立Y:\目錄 好掛載WIM EX:AIDA64.WIM ==>建立 Y:\AIDA64\ 再MOUN AIDA.WIM,y:\AIDA\  详情 回复 发表于 2018-5-3 23:06
回复

使用道具 举报

 楼主| 发表于 2018-5-3 23:06:50 | 显示全部楼层
红毛樱木 发表于 2018-5-3 22:54
CMD和BAT我是真看不懂的。你直接说要干什么事。

我把WIM都放在三個目錄下
我想要自動找這3個目錄下的WIM檔
建立Y:\目錄 好掛載WIM
EX:AIDA64.WIM  ==>建立 Y:\AIDA64\ 再MOUN AIDA.WIM,y:\AIDA\

点评

如果搜索的是每个盘符的根目录的话,这样子  详情 回复 发表于 2018-5-3 23:28
回复

使用道具 举报

发表于 2018-5-3 23:28:01 | 显示全部楼层
saiz 发表于 2018-5-3 23:06
我把WIM都放在三個目錄下
我想要自動找這3個目錄下的WIM檔
建立Y:\目錄 好掛載WIM
  1. //设定查找目录
  2. ENVI &FindPath=D:
  3. FORX %&FindPath%\*.WIM,&AnyWIM,0,
  4. {
  5.     //获取WIM文件的文件名
  6.     FNAM &fNamWIM=%&AnyWIM%
  7.     ENVI &MountPath=Y:\%&fNamWIM%   //视不同情况,如果下面的MOUN失败就试试把这句换成ENVI &MountPath=Y:\%&fNamWIM%\%&fNamWIM%
  8.     MDIR %&MountPath%
  9.     MOUN %&AnyWIM%,%&MountPath%
  10. }
复制代码



如果搜索的是每个盘符的根目录的话,这样子
  1. //设定查找目录
  2. ENVI &FindPath=ABC\BCD
  3. FORX \%&FindPath%\*.WIM,&AnyWIM,0,
  4. {
  5.     //获取WIM文件的文件名
  6.     FNAM &fNamWIM=%&AnyWIM%
  7.     ENVI &MountPath=Y:\%&fNamWIM%   //视不同情况,如果下面的MOUN失败就试试把这句换成ENVI &MountPath=Y:\%&fNamWIM%\%&fNamWIM%
  8.     MDIR %&MountPath%
  9.     MOUN %&AnyWIM%,%&MountPath%
  10. }
复制代码

点评

感謝紅毛大大 但我使用結果 無效 掛載目錄也沒有建立 有些問題想請教 FORX \%&FindPath%\*.WIM,&AnyWIM,0, ANYWIM變數應該會是完整路徑吧? EX: U:\OUTTOOL\ABC.WIM 但後面又有Y:\%&fNamWIM%, 而因為%&fNamWI  详情 回复 发表于 2018-5-4 15:14
回复

使用道具 举报

 楼主| 发表于 2018-5-4 15:14:48 | 显示全部楼层
红毛樱木 发表于 2018-5-3 23:28
如果搜索的是每个盘符的根目录的话,这样子

感謝紅毛大大
但我使用結果 無效
掛載目錄也沒有建立
有些問題想請教
FORX \%&FindPath%\*.WIM,&AnyWIM,0,
ANYWIM變數應該會是完整路徑吧?
EX: U:\OUTTOOL\ABC.WIM
但後面又有Y:\%&fNamWIM%,
而因為%&fNamWIM%=%&AnyWIM%
那Mountpath不就會=Y:\OUTTOOL\ABC.WIM
也許這就是不成功的因

但我只想要取出ABC做目錄名稱 以建立新目錄
那我要如何做呢?

点评

FNAM &fNamWIM=%&AnyWIM%  详情 回复 发表于 2018-5-4 16:10
回复

使用道具 举报

发表于 2018-5-4 16:10:24 | 显示全部楼层
saiz 发表于 2018-5-4 15:14
感謝紅毛大大
但我使用結果 無效
掛載目錄也沒有建立

FNAM &fNamWIM=%&AnyWIM%

点评

感謝提供!! 這樣我的思路就有方法可行了 繼續研究!  详情 回复 发表于 2018-5-6 17:34
回复

使用道具 举报

 楼主| 发表于 2018-5-6 17:34:39 | 显示全部楼层

感謝提供!!
這樣我的思路就有方法可行了
繼續研究!
回复

使用道具 举报

 楼主| 发表于 2018-5-6 19:29:16 | 显示全部楼层
感謝紅毛大大 我已經寫好 測試OK了
但又發現新問題...
我是XPE WIN8PE WIN10PE
呼叫同一個xWIM.INI 執行載入WIM ,LOAD INI
但在XPE WIN10PE底下都OK,在WIN8PE底下就不行了
明明呼叫的檔案是同一個 WIN10PE跟WIN8PE使用的PECMD也是同一版本
但在WIN8PE底下無法MOUN,
請問這可能會是什麼原因呢?
附上我的xWIM.INI內容如下

  1.      ENVI OUTTOOL=%CURDIR%
  2.      PATH @%OUTTOOL%
  3.      ENVI xWIM=%OUTTOOL%
  4.      ENVI MountPath=Y:
  5.      RAMD ImDisk,L100,NTFS,Y:

  6.      TEXT 載入WIM檔中...請耐心等候
  7.      IFEX MEMU>=1000,CALL Copy2RAM
  8.      WAIT 666
  9.      FORX /S %xWIM%\*.wim,Wim,0,TEAM NAME WimDir=%Wim%|MDIR %MountPath%\%WimDir%|MOUN "%Wim%","%MountPath%\%WimDir%",1,%MountPath%\
  10.      IFEX X:\RXPE,TEAM FBWF L300 H400|LOAD %MountPath%\PESYSTEM\PESYSTEM.INI
  11.      TEXT 執行軟體基本設置...請耐心等候
  12.      FORX /S %MountPath%\outtool.ini,WimInI,0,LOAD "%WimInI%"


  13. _SUB Copy2RAM
  14.      RAMD ImDisk,L600 H1024,NTFS,Y:  
  15.      MDIR Y:\xWIM
  16.      ENVI xWIM=Y:\xWIM

  17.      FILE -simpleprogress %OUTTOOL%\WIMMOD=>%xWIM%\
  18.      IFEX x:\RXPE,FILE -simpleprogress %OUTTOOL%\WIMMOD_XPE=>%xWIM%\!FILE -simpleprogress %OUTTOOL%\WIMMOD_X64=>%xWIM%\
  19. _END
复制代码
回复

使用道具 举报

 楼主| 发表于 2018-5-7 18:20:08 | 显示全部楼层
更新
發現因為8PE使用VDISK建立Y:(原本我刪除相關指令了)
如果使用原8PE 是可以加載WIM 但不能把WIM檔丟到Y:\ 再MOUNT
也就是一定要用隨身碟才可以 無法移除隨身碟
請問有什麼方法可以移除VDISK 改用IMDISK嗎
我原本使用IMDISK建立Y槽是OK的
也能建立目錄 就是不能MOUNT
回复

使用道具 举报

 楼主| 发表于 2018-5-8 11:24:53 | 显示全部楼层
發現LOG中 MOUN指令出現drivers=0x190001c wim dll ver7=0
看來是問題所在
有哪位大大可以幫我解釋這問題嗎??
回复

使用道具 举报

 楼主| 发表于 2018-5-8 12:43:15 | 显示全部楼层
更新PECMD.EXE後,WIN8PE沒有樓上的問題
目前找到問題點是 WIN8PE如果以
MOUN A.WIM,Y:\A,1
結果會掛載在Y:\ 而不是Y:\A\
應該是因為如此而造成無法掛載
但明明PECMD我已換成跟WIN10PE一樣了
WIMMOUNT.SYS之類我看是跟XPE一樣 6.0版
為什麼XPE WIN10PE都OK WIN8PE卻不OK呢?
是不是我有什麼檔案需要更新呢?
回复

使用道具 举报

 楼主| 发表于 2018-5-8 14:44:04 | 显示全部楼层
closed....解決了
該PE要再加載DISM相關檔案才行

点评

ENVI &MountPath=Y:\%&fNamWIM% //视不同情况,如果下面的MOUN失败就试试把这句换成ENVI &MountPath=Y:\%&fNamWIM%\%&fNamWIM%  详情 回复 发表于 2018-5-8 15:41
回复

使用道具 举报

发表于 2018-5-8 15:41:27 | 显示全部楼层
saiz 发表于 2018-5-8 14:44
closed....解決了
該PE要再加載DISM相關檔案才行

ENVI &MountPath=Y:\%&fNamWIM%   //视不同情况,如果下面的MOUN失败就试试把这句换成ENVI &MountPath=Y:\%&fNamWIM%\%&fNamWIM%

点评

//流程架構為:建立RAMDISK=>如果RAM夠大則擴充RAMDISK以便複製WIM到Y:再做掛載 ==>完成後 隨身碟可移除 // L>RAM不夠大則RAMDISK只做掛載使用,不複製WIM ==>完成後 隨身碟  详情 回复 发表于 2018-5-8 19:29
回复

使用道具 举报

 楼主| 发表于 2018-5-8 19:29:41 | 显示全部楼层
感謝紅毛大
我已經完成並測試OK了
如下:

  1.      //流程架構為:建立RAMDISK=>如果RAM夠大則擴充RAMDISK以便複製WIM到Y:再做掛載 ==>完成後 隨身碟可移除
  2.      //                      L>RAM不夠大則RAMDISK只做掛載使用,不複製WIM        ==>完成後 隨身碟不可移除
  3.      
  4.      SET OUTTOOL=%CURDIR% //目前目錄
  5.      PATH @%OUTTOOL%
  6.      SET xWIM=%OUTTOOL% //掛載WIM-來源
  7.      SET MountPath=Y:   //掛載WIM-目的
  8.      IFEX X:\RXPE,RAMD ImDisk,L100,NTFS,Y:   //XPE建立RAMDISK Y:

  9.      TEXT 載入WIM檔中...請耐心等候   
  10.      IFEX MEMU>=1200,CALL Copy2RAM //如果可用RAM足夠的話 將WIM複製到RAMDISK Y:中再掛載(可移除隨身碟)
  11.      WAIT 1000
  12.      CALL mount
  13.      WAIT 666
  14.      IFEX X:\RXPE,TEAM FBWF L300 H400|LOAD %MountPath%\PESYSTEM\PESYSTEM.INI
  15.      TEXT 執行軟體基本設置...請耐心等候
  16.      FORX /S %MountPath%\outtool.ini,WimInI,0,LOAD "%WimInI%" //搜尋INI檔並執行


  17. _SUB Copy2RAM
  18.      IFEX X:\RXPE,RAMD ImDisk,L600 H1024,,Y: //RAM夠大 擴充RAMDISK
  19.      //先刪除後重建目錄,以免手動重載時出問題
  20.      IFEX Y:\xWIM,FILE Y:\xWIM
  21.      MDIR Y:\xWIM
  22.      SET xWIM=Y:\xWIM //改變WIM掛載點為RAMDISK Y:

  23.      FILE -simpleprogress %OUTTOOL%\WIMMOD=>%xWIM%\ //複製相同WIM到RAMDISK Y:
  24.      IFEX x:\RXPE,FILE -simpleprogress %OUTTOOL%\WIMXPE=>%xWIM%\!FILE -simpleprogress %OUTTOOL%\WIMX64=>%xWIM%\ //依PE不同,複製相異WIM到RAMDISK Y:
  25. _END

  26. _SUB mount
  27.      IFEX X:\RXPE,SET x86x64=%xWIM%\WIMXPE!SET x86x64=%xWIM%\WIMX64 //依據PE不同 掛載相異部份WIM

  28.      //先獲取所有WIM路徑,取出檔名建立掛載用目錄,再把所有WIM掛載到對應目錄下
  29.      FORX %x86x64%\*.wim,Wim,0,TEAM NAME WimDir=%Wim%|MDIR %MountPath%\%WimDir%|MOUN "%Wim%","%MountPath%\%WimDir%",1,%MountPath%\ //相異WIM
  30.      FORX %xWIM%\WIMMOD\*.wim,Wim,0,TEAM NAME WimDir=%Wim%|MDIR %MountPath%\%WimDir%|MOUN "%Wim%","%MountPath%\%WimDir%",1,%MountPath%\ //相同WIM
  31. _END
复制代码

点评

可以用SIZE和CALC命令动态算出WIM大小,动态设置IMDISK盘大小。  详情 回复 发表于 2018-5-9 17:50
回复

使用道具 举报

发表于 2018-5-9 17:50:21 | 显示全部楼层
saiz 发表于 2018-5-8 19:29
感謝紅毛大
我已經完成並測試OK了
如下:

可以用SIZE和CALC命令动态算出WIM大小,动态设置IMDISK盘大小。

点评

喔喔~還有這功指令啊 再研究研究 但一定要設大點 免得爆掉吧 因為有的程式會有暫存檔之類出現  详情 回复 发表于 2018-5-9 19:36
回复

使用道具 举报

 楼主| 发表于 2018-5-9 19:36:44 | 显示全部楼层
红毛樱木 发表于 2018-5-9 17:50
可以用SIZE和CALC命令动态算出WIM大小,动态设置IMDISK盘大小。

喔喔~還有這功指令啊 再研究研究
但一定要設大點 免得爆掉吧
因為有的程式會有暫存檔之類出現
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 13:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表