2017-07-07 62 views
1

我正在修改用於備份的批處理文件。當它運行時,它會創建一個新的shadowcopy,裝載它,備份它應該的內容,並將其卸載。我想要做的是刪除它創建的影子拷貝。我不會因爲法庭原因刪除現有的shadowcopys。以下是我有和問題的代碼部分。使用批處理文件刪除一個ShadowCopy

:DeleteNewSCopy 
REM : Locates then removes the last created shadowcopy. 
SET ShadowID= 
FOR /F "usebackq tokens=1,2* delims=:" %%A IN (`FINDSTR /I /C:"Shadow Copy ID:" %TempFile%`) DO SET ShadowID=%%B 

IF NOT "%ShadowID%" == "" (
    REM : Last ShadowCopy ID was found, Nuke it. 
    vssadmin delete shadows /Shadow=%ShadowID% 
) ELSE (
    ECHO No ShadowCopy ID found. 
) 
GOTO :EOF 

FOR行似乎工作正常。當我在運行時回聲出%ShadowID時%,我得到:

ShadowID: {4fcb026a-08fe-4a34-b198-da7560db57bf} 

但刪除影拷貝行失敗:

Error: Invalid option value. 

在命令行中我可以設置ShadowID時有相同的字符串並運行命令沒有問題,所以我好像它應該在批處理文件中工作。

任何援助將不勝感激。

回答