在某些作業環境由於user手殘或者某些系統BUG因素造成小型免安裝軟體檔案損毀、故障,導致無法運行
可寫一個recover○○○.bat方便故障時
讓user 自己點了之後自動刪除故障資料夾(+停止運行中程式才能刪除)→再從網路磁碟拷貝到指定位置還原的半自動還原方式
刪除資料夾前首先
CMD 利用(命令提示字元)來強制關閉某程式
在 開始→執行→輸入cmd 按enter
在命令提示字元輸入以下指令
taskkill /f /im 程式名稱
程式名稱是在工作管理員的處裡程序名稱
如要使用批次檔處理的話寫法如下↓
開始一個純文字檔,打上以下指令
@echo off
taskkill /f /im *.exe
如要多個檔案關閉請一一增加
所以第一步驟 在筆記本內就是
@echo on
ping 192.168.1.100
timeout 1 因為要從網路磁碟複製,得先讓網路磁碟SMB有通登入
@net use \\192.168.1.100 "密碼" /user:"PPG\PPG506" 『說明: 密碼要雙"" 密碼空白就打"" 就可 /user:"網域名稱\使用者名稱" 如本機就打(.\使用者名稱) 』
有些小型區域網路各電腦使用同樣的使用者名稱user就可以用.\user類似這樣登入的,
/user:"網域名稱\使用者名稱" 這邊就是『/user:"被登入的本機電腦名稱\使用者名稱" 』就可以登入對方那台PC
圖解說明▼
timeout 1
taskkill /f /im Update.exe 這樣就可以停止Update.exe,停止要刪除的資料夾中有在運作的檔案才能順利刪除指定資料夾。
timeout 2
刪除指定資料夾
刪除目錄 (rd, rmdir)
/S : 除目錄本身,一併移除指定目錄裡的所有目錄和檔案。
/Q : 安靜模式
ex: 刪除 D:\Test 底下所有目錄與檔案,不予以提示
rd D:\Test /s /q
原理說明:
RD 刪除目錄
/Q:安靜模式,不會跳出提示訊息就刪除
/S:連帶刪除子目錄下的檔案
所以第二步驟 在筆記本內就是
@echo on
ping 192.168.1.100
timeout 1
@net use \\192.168.1.100 "密碼" /user:"PPG\PPG506"
timeout 1
taskkill /f /im Update.exe
timeout 2
rd C:\BBQ /s /q ※刪除C底下的BBQ資料夾
timeout 3 ※會設定timeout 秒數是為了怕跑太快有些時候電腦反應沒那麼快會失敗,
這等待秒數要依照當下環境電腦設備速度來增減,SSD 至少1sec ,HDD的最好5sec UP
第三步驟就是從網路磁碟來源複製回來刪掉的資料夾
使用robocopy指令從網路磁碟、或者本機磁碟複製回來,robocopy指令遇到相同檔案相同日期的就會自動略過不覆蓋,
如果不加 /e 就只會複製第一層檔案,不會包括子目錄、子目錄檔案
robocopy \\192.168.1.100\BBQ C:\BBQ\ /e ※從網路磁碟複製BBQ資料夾回C:\下
/e |
複製子目錄。 請注意,此選項包含空的目錄。 如需其他資訊,請參閱備註。 |
所以第三步驟 在筆記本內就是
@echo on
ping 192.168.1.100
timeout 1
@net use \\192.168.1.100 "密碼" /user:"PPG\PPG506"
timeout 1
taskkill /f /im Update.exe
timeout 2
rd C:\BBQ /s /q
timeout 3
robocopy \\192.168.1.100\BBQ C:\BBQ\ /e
timeout 1
pause 加上這行,就是執行完會顯示按任意鍵離開,會停著有畫面讓你看上面執行的整個過程,不會執行完自動關掉DOS視窗
這樣流程就是
1.先連通區網磁碟認證(NAS/PC SMB共享)+ 先停止要刪除資料夾內運作中的檔案.exe
2.刪除指定資料夾,/S 包括子目錄、子目錄檔案 , /Q 且不提示詢問
3.從網路磁碟複製回來原本位置做還原動作 /e 包括子目錄所有檔案夾、檔案
留言列表