從Windows NT以來,檔案系統開始支援存取權限設定,但這個技巧今天才學會。

在Windows裡將資料夾複製到另一個位置時,複製後的目錄及檔案預設會套用新位置的權限設定。今天想把網站搬到其他磁碟機,卻發現網站部分目錄被賦與IIS虛擬帳號寫入權限,複製過去後寫入權限設定遺失,導致網站無法運作!

之前遇到類似問題,都是乖乖手動補上權限了事,今天忽然覺醒不能再這麼頹廢沈淪下去,結果輕輕鬆鬆就在MS Support找到答案(我居然笨了這麼久?):

HOW TO: 將資料夾複製到另一個資料夾,並保留它的權限 (為機器翻譯,英文版較好讀)

原來使用XCOPY加上特定參數就可搞定,在我的案例可以寫成:

xcopy X:\WWW\AfaDevBlog Z:\WWW\AfaDevBlog /X /H /E /O /K

/E - 複製資料夾及子資料夾,就算是空的也照抄
/H - 複製隱藏檔案及系統檔案
/K - 複製後保留唯讀屬性(預設Xcopy後會重設唯讀屬性)
/O - 複製檔案擁有者及權限設定(ACL)
/X - 複製稽核設定(會一併啟用/O)

PS: XCOPY還有許多進階選項,可參考TechNet文件的介紹


Comments

Be the first to post a comment

Post a comment