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 -----