close

在某些作業環境由於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

圖解說明▼

Snap3298.jpg

 

                                                                                          

                                                                
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 包括子目錄所有檔案夾、檔案

 

 

 

 

arrow
arrow
    創作者介紹
    創作者 a7432186 的頭像
    a7432186

    UMAX的部落格

    a7432186 發表在 痞客邦 留言(0) 人氣()