問題描述:
在 VMDK 所在目錄下透過檔案總管右鍵執行 _shrink.bat 時會出現錯誤。
_shrink.bat 內容為:
"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "Windows 7 x64.vmdk" "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "VmDisk256G.vmdk" echo. & pause |
=> 它使用 vdiskmanager.exe 對目前目錄下的 VMDK 執行壓縮
執行結果:
解決方法#1:
=> 以管理者權限執行可解決上面問題
但以管理者權限執行後又有新問題:找不到要壓縮的 vmdk file
注意到 current directory 是在 c:\Windows\system32, 因此要先設法切換路徑至 batch file 所在目錄。
參考:
https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file
=> cd /d %~dp0 , 此指令可切至 batch file 所在的目錄
解決方法#2:
_shrink.bat 在第一行加入切換路徑的指令即可解決此問題:cd /d %~dp0
cd /d %~dp0 "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "Windows 7 x64.vmdk" "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "VmDisk256G.vmdk" echo. & pause |
結語/心得:
batch file 使用時:
[1] 使用 administrator 權限執行
[2] 確認執行目錄,視需要將目錄切至合適的位置
沒有留言:
張貼留言