因此,我想使用批處理腳本從影子副本進行備份。這是我到目前爲止有:從影子副本備份
vssadmin list shadows | findstr /C:"Volume da Cópia de Sombra"
輸出:
Volume da Cópia de Sombra: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
Volume da Cópia de Sombra: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
Volume da Cópia de Sombra: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5
我需要得到只有在FINDSTR返回的最後一行的路徑,但我真的不知道我怎麼會完成它。
和獲取路徑並添加\
到結束(只會使符號鏈接,如果路徑以\
結束)做一個符號鏈接到它後。
mklink c:\shadowcopy /d %path%
所以,我迷失在它的中間。
我發現一個回答這個問題:
Batch file to output last line of findstr
但人,批量語法是一個爛攤子,我不明白的代碼行的答案來適應我的項目。
有人可以幫助我並詳細解釋我需要做什麼(或者代碼,如果你提供的話),這樣我就可以理解我在做什麼,而不是僅僅粘貼和複製,誰知道做一些改進/變化。
爲什麼管道前面的「^」? – Rafael
由於管道未用雙引號引起,因此會被過早視爲文字命令分隔符。嘗試一下,看看會發生什麼。如果沒有,cmd解釋器會將管道視爲'for'命令的結尾,而不是我們想要的'vssadmin'命令的結尾。用插入符號轉移管道會延遲對管道的評估,直到執行'vssadmin'命令。 – rojo
嗯,我明白了。所以,'^'是批量轉義字符?有道理,因爲'\\''是批量使用的。非常感謝。編輯:必須編輯becase'\\'是一個轉義字符在這裏,所以需要添加雙xD – Rafael