2024-06-07|閱讀時間 ‧ 約 56 分鐘

檔案操作處理工具

1.工具功能

(1) 可以彈性任意查詢檔案,如 對來源目錄設定,對檔案修改日期 設定,對檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄,所有子目錄內的檔案均可操作處理    

(2) 依查詢後結果,可產出file name  LIST ,提供查詢結果之確認,再依此 內容對檔案作複製,移動,刪除,改名等執行操作 

(3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間    

(4)  可執行檔名更改,適用日文,中文檔名顯示。檔案分類歸檔,備份保存管理

(5)  查詢對象檔案之容量可列出,並合計所有查詢對象檔案之檔案數量與file size總容量

      

2. 作業說明

2.1 於Windows cmd 上執行Manipulate_file.cmd程式時,

出現如下畫面

  **** Variable of files manipulate **********                     

 [1] : Inquiry                      

 [2] : Copy   ( [1] to be run previously )                          

 [3] : Move   (       "                  )                    

 [4] : Delete (       "                  )                        

 [5] : Rename (       "                  )                     

 [9] : Exit                   

********************************************                            

使用者依需要輸入欲操作之項目,如下:

   1 查詢,2 COPY ,3 MOVE  ,4 DEL,5 rename  ,9跳出

 

2.2輸入欲處理檔案之參數,如下四個參數說明:               

**1輸入欲查詢來源檔案之Path  (path必須存在) 

        >Source path     : like D:\DCS     

**2 輸入欲查詢檔案日期期間: 

         > Date or days    : like -30 ,即30天前的選取,

> Date or days    : +2023/12/31  ,該當日期 以後的檔案選取

沒輸入時default=0        

**3 輸入欲查詢檔案名稱之特定字串的,(目錄名稱無法選取)

          >String of files : like IT*.txt  or   *高雄*                  

          沒輸入時default=*.*

**4 查詢後,產出WORKFile ,內含欲查詢之所有檔名,以及若有複製/移動處理時,所需之目的地資料夾名稱                

          >Destination path: like D:\BK           

             沒輸入時 default=D:\DESTINATION

 

2.3  依據 2.2 輸入之參數,找出的檔案集,將查出之對象檔名list儲存在 work Txt檔內                         

2.3.1 輸入參數後,執行顯示訊息如下:              

          Next, Enter Parameters in above for inquiring file-name                

                            

          **1 Enter Source path you want to inquire =I:\99.暫存資料                   

          **2 Enter +-Date or +-days to find file-date =-60            

          **3 Enter String of file-name you want to inquire =*2NJ*              

          **4 Enter Destination path for Inquiry/COPY/MOVE files =           

                            

          **---You entered below parameters want to inquiry---2024/06/06 週四---                 

          **1 Source path     :I:\99.暫存資料           

          **2 Date or days    :-60                 

          **3 Sring of files  :*2NJ*.*             

          **4 Destination path:D:\DESTINATION           

          **---**************************************************************                  

           ---Inquiry process 執行中...         

           ---Inquiry process already  finished 執行完了, COUNT = 2                 

           ---To check you will inquire files-name list in D:\DESTINATION\Inquiry_result.txt                 

                            

2.3.2 輸入參數 ,產出work  file ,可參考範例如下:          

          **---You entered below parameters want to inquiry---2021/01/07 週四---                

          **1 Source path     :I:\99.暫存資料                   

          **2 Date or days    :-60                        

          **3 Sring of files  :*2NJ*.*                    

          **4 Destination path:D:\DESTINATION          

         

                                               

2.3.3  上述Work file 內容,找出File 之引數共 7項,以A,B,C,D,E,F,G作為引數名稱,如下                

               A : Path          B:File名             C:副檔名                   D:file之修改日期  

              E: 件數序號  F: file size Byte  G: Total file size KB          

  各引數之間以  ? 做區隔,如下:                      

I:\99.暫存資料\2NJ 3S kick off .pdf?"2NJ 3S kick off .pdf"?"pdf"?2020/9/15?1           

I:\99.暫存資料\2020年式\~$2NJ_SP1 本番.pptx?"~$2NJ_SP1 本番.pptx"?"pptx"?2020/9/25?2

 

2.3.4  file size 取得, 合計時以 KB單位 計算 , if > 512B = 1K ,

注意:合計值不可大於  2147483647  將顯示負值,出現不正確數字                  

          d:\Users\ktmn>set /a v=2147483647    

          2147483647  

          d:\Users\ktmn>set /a v=2147483648    

          不正確的數字。數字限制為 32 位元精確度。         

                            

2.4 依據上述出力之WORK file檔內之內容,自動執行複製,移動,刪除,更名等處理                                                   

2.4.1 COPY/MOVE 處理:                                     

(1)由Source path PAR1 , 選出所有子目錄,追加新建子目錄至目的地PAR4 下層

     PAR1 來源目錄本身,亦需建 於PAR4 目的目錄 下之子目錄             

(2)由Inquiry_result.txt 取出file list,以便  copy/Move 的處理                         

         

2.4.2 Delete 處理:                             

(1)由Inquiry_result.txt 取出file list,以便 Delete 的處理                            

(2)注意只有刪除檔案,目錄仍會留下不會刪除        

 

2.4.3 Rename 處理:                                    

(1)輸入新檔名,先加上 "  " 特別處理,將錯誤字元 " 改為 ###                            

(2)輸入的新檔名,存檔為temp_rename.txt,                     

    再判斷是否含 "\ > ? < * / : | ###" 任何一錯誤字元 ,若有需重新輸入                  

(3)判斷是否要含舊檔名

(4) 依據Inquiry_result.txt內容,取出引數共五項,                           

    A : Path    B:File名   C:副檔名  D:file之修改日期   E: 件數序號 ,以便更名的處理

   保留舊檔名處理:

   rename   old-file-Path   "Newfile-name_count_oldfile-name"                        

  不保留舊檔名處理:

   Rename  old-file-Path    "Newfile-name_count.old-ext"                              

 

2.4.4 查詢參數的輸入處理:                             

(1)PAR1 來源目錄輸入,最後之字元不可  \                       

(2)PAR2  來源File 修改日的選取輸入,default  +0                           

(3)PAR3  來源File name 的選取輸入,default  *.*  ,                  

             若無副檔名,後面追加 .*  目的是不要 選取目錄                          

(4)PAR4 目的目錄輸入,若不存在,需先新建目錄 , default  D:\DESTINATION

(5)輸入完成之參數,將內容儲存在WORK file   >%PAR4%\Inquiry_result.txt                     


3. 實例說明   

3.1   實例1 :  公用槽內 ,檔案之特定日期前,特定副檔名之檔案處理         

**** Variable of files manipulate **********      

 [1] : Inquiry   

 [2] : Copy   ( [1] to be run previously )       

 [3] : Move   (       "                  ) 

 [4] : Delete (       "                  )     

 [9] : Exit

********************************************         

Select Variable in above you will manipulate =1    

         

**--- You can refer parameters sample as below: ----------     

**1 Source path     : like D:\DCS        

**2 Date or days    : like -30 or -2019/12/31 default=0     

**3 String of files : like IT*.txt or *事懇*  default=*.*

**4 Destination path: like D:\BK   default=D:\DESTINATION      

**--------------------------------------------------------         

         

Next, Enter Parameters in above for inquiring file-name       

 

**輸入欲查詢參數,亦即查詢

I:\99.暫存資料\游捷 ->查該路徑下之檔案

+2023/4/1  -> 查2023/4/1 以後出力之檔案

*.xls*     ->查所有excel 檔案

 

**1 Enter Source path you want to inquire =I:\99.暫存資料\游捷       

**2 Enter +-Date or +-days to find file-date =+2023/4/1       

**3 Enter String of file-name you want to inquire =*.xls*     

**4 Enter Destination path for Inquiry/COPY/MOVE files =  

 

**產出輸入查詢參數    

**---You entered below parameters want to inquiry---2024/05/27 週一---

**1 Source path     :I:\99.暫存資料\游捷

**2 Date or days    :+2023/4/1  

**3 Sring of files  :*.xls*       

**4 Destination path:D:\DESTINATION  

**---**************************************************************         

 =---Inquiry process 執行中...       

 =---Inquiry process already  finished 執行完了        

 =---To check you will inquire files-name list in D:\DESTINATION\Inquiry_result.txt        

         

請按任意鍵繼續 . . .     

 

** 查詢執行後,結果出力如下

**---You entered below parameters want to inquiry---2024/05/27 週一---        

**1 Source path     :I:\99.暫存資料\游捷        

**2 Date or days    :+2023/4/1          

**3 Sring of files  :*.xls*               

**4 Destination path:D:\DESTINATION

I:\99.暫存資料\游捷\損益表格_202310.xlsx?2023/11/3         

I:\99.暫存資料\游捷\損益表.xls?2024/3/11    

I:\99.暫存資料\游捷\損益表格.xls?2023/5/14                

I:\99.暫存資料\游捷\損益彙整\損益表.xls?2023/5/11  

I:\99.暫存資料\游捷\損益彙整\損益表格_202405.xls?2024/5/14            

I:\99.暫存資料\游捷\損益彙整\損益表格_202311.xlsx?2023/11/13            

I:\99.暫存資料\游捷\損益彙整\損益分析2020,03.xlsx?2023/5/18            

I:\99.暫存資料\游捷\年度計畫\年度計畫\離職率.xls?2023/10/2            

I:\99.暫存資料\游捷\年度計畫\年度計畫\PMA佔有率.xls?2023/11/27          

I:\99.暫存資料\游捷\年度計畫\年度計畫\KPI 評價分數.xlsx?2023/11/27          

 

  ** COPY 處理              

**** Variable of files manipulate **********                

 [1] : Inquiry            

 [2] : Copy   ( [1] to be run previously )                

 [3] : Move   (       "                  )          

 [4] : Delete (       "                  )               

 [9] : Exit         

********************************************                  

Select Variable in above you will manipulate =2             

 

  ** COPY 處理後,COPY存入 目的地

 

3.2 實例2 : 公用槽內 ,特定日期前,所有MP3 之檔案查詢                            

**** Variable of files manipulate **********      

 [1] : Inquiry   

 [2] : Copy   ( [1] to be run previously )       

 [3] : Move   (       "                  ) 

 [4] : Delete (       "                  )     

 [9] : Exit

********************************************         

Select Variable in above you will manipulate =1    

         

**--- You can refer parameters sample as below: ----------     

**1 Source path     : like D:\DCS        

**2 Date or days    : like -30 or -2019/12/31 default=0     

**3 String of files : like IT*.txt or *事懇*  default=*.*

**4 Destination path: like D:\BK   default=D:\DESTINATION      

**--------------------------------------------------------         

         

Next, Enter Parameters in above for inquiring file-name       

         

**1 Enter Source path you want to inquire =I:\99.暫存資料\NHC        

**2 Enter +-Date or +-days to find file-date =-365

**3 Enter String of file-name you want to inquire =*.mp3   

**4 Enter Destination path for Inquiry/COPY/MOVE files =  

         

**---You entered below parameters want to inquiry---2020/12/28 週一---

**1 Source path     :I:\99.暫存資料\NHC 

**2 Date or days    :-365     

**3 Sring of files  :*.mp3      

**4 Destination path:D:\DESTINATION  

**---**************************************************************         

 ---Inquiry process 執行中...

 ---Inquiry process already  finished 執行完了 

 ---To check you will inquire files-name list in D:\DESTINATION\Inquiry_result.txt        

         

請按任意鍵繼續 . . .     

         

 **  查詢結果顯示如下:     

**---You entered below parameters want to inquiry---2024/05/27 週一---        

**1 Source path     :I:\99.暫存資料\NHC         

**2 Date or days    :-365            

**3 Sring of files    :*.mp3         

**4 Destination path:D:\DESTINATION

I:\99.暫存資料\NHC\1105245_001.mp3?2023/2/25        

I:\99.暫存資料\NHC\1105245_002.mp3?2023/2/25        

I:\99.暫存資料\NHC\1105245_003.mp3?2023/2/25        

I:\99.暫存資料\NHC\1105245_004.mp3?2023/2/25        

                            

3.3   實例3 : 公用槽 ,特定日期前,檔案更名之處理

     更名為於檔名前追加”台灣”加序號,並保留原有檔名

 

**** Variable of files manipulate **********                         

 [1] : Inquiry                      

 [2] : Copy   ( [1] to be run previously )                          

 [3] : Move   (       "                  )                    

 [4] : Delete (       "                  )                        

 [5] : Rename (       "                  )                     

 [9] : Exit                   

********************************************                            

Select Variable in above you will manipulate =5                       

                            

**5_1 Enter New Name you want to renmae file =台灣                           

台灣                            

**5_2 If you want keeping old name behind New name, please enter Y  (default:N) y                         

 =---Rename process 執行中...                        

 =---Rename process already finished 執行完了                    

請按任意鍵繼續 . . .                        

                            

  ** 更名結果顯示如下:                        

  更名前:       

I:\99.暫存資料\NHC\1105245_001.mp3  

I:\99.暫存資料\NHC\1105245_002.mp3  

I:\99.暫存資料\NHC\1105245_003.mp3  

I:\99.暫存資料\NHC\1105245_004.mp3  

                                               

  更名後:                 

I:\99.暫存資料\NHC\台灣_1_1105245_001.mp3     

I:\99.暫存資料\NHC\台灣_2_1105245_002.mp3     

I:\99.暫存資料\NHC\台灣_3_1105245_003.mp3     

I:\99.暫存資料\NHC\台灣_4_1105245_004.mp3     

         

3.4   實例4 :查詢2011/2/28以前之檔案有哪些?

取得各檔案名稱,容量,並計算出對象檔案集之檔案數與總size容量

 

          **1 Enter Source path you want to inquire =I:\03.分享資料

          **2 Enter +-Date or +-days to find file-date =-2011/2/28

          **3 Enter String of file-name you want to inquire =

          **4 Enter Destination path for Inquiry/COPY/MOVE files =

         

          **---You entered below parameters want to inquiry---週三 2021/02/24---

          **1 Source path     :I:\03.分享資料

          **2 Date or days    :-2011/2/28

          **3 Sring of files  :*.*

          **4 Destination path:D:\DESTINATION

          **---**************************************************************

          *---Inquiry process 執行中...

          *---Inquiry process already  finished 執行完了, COUNT = 11796 , FsizeTOT = 4028055 KB

          *---To check you will inquire files-name list in D:\DESTINATION\Inquiry_result.txt

         

          Press any key to continue . . .

        

        查詢結果 如下檔案內容 :         

          **---You entered below parameters want to inquiry---週三 2024/529--

          **1 Source path     :I:\03.分享資料

          **2 Date or days    :-2011/2/28       

          **3 Sring of files  :*.*       

          **4 Destination path:D:\DESTINATION

          I:\03.分享資料\ addLangs.bat?"addLangs.bat"?"bat"?2009/2/10?1?26?0 KB

          I:\03.分享資料\ OuiConfigVariables.xml?"OuiConfigVariables.xml"?"xml"?2009/6/3?3?3899?5 KB

          I:\03.分享資料\ shiphomeinfo.properties?"shiphomeinfo.properties"?"properties"?2010/7/13?4?36?5 KB

          I:\03.分享資料\ shiphomeproperties.xml?"shiphomeproperties.xml"?"xml"?2008/7/25?5?296?5 KB

          I:\03.分享資料\ instImages\images.properties?"images.properties"?"properties"?2004/7/29?6?982?5 KB

          I:\03.分享資料\DataFiles\Expanded\oui\instImages\oneclickbg.gif?"oneclickbg.gif"?"gif"?2004/7/28?7?15305?19 KB

          I:\03.分享資料\ install\access_setup.bat?"access_setup.bat"?"bat"?2010/11/10?8?411?19 KB

          I:\03.分享資料\ USRPNNT.TBL?"USRPNNT.TBL"?"TBL"?2007/6/6?11791?12312?4025651 KB

          I:\03.分享資料\ winver.exe?"winver.exe"?"exe"?2001/2/6?11792?24064?4025674 KB

          I:\03.分享資料\Xusrcj.tbl?"Xusrcj.tbl"?"tbl"?2007/6/5?11793?27490?4025700 KB

        I:\03.分享資料\ XUSRPN.TBL?"XUSRPN.TBL"?"TBL"?2007/6/5?11794?12312?4025712 KB

          I:\03.分享資料\造字對照表.doc?"造字對照表.doc"?"doc"?2007/6/6?11795?1752576?4027423 KB

          I:\03.分享資料\造字對照表.pdf?"造字對照表.pdf"?"pdf"?2007/6/6?11796?647373?4028055 KB

 ** 上述即查詢取得之對象檔之明細含檔案路徑,日期,file容量,最後一筆顯示總檔案數與總size容量

 

4. 本工具軟體:   程式檔名Manipulate_file.cmd (設計內容略)

----- recorded by linct -----

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.