iT邦幫忙

0

批次檔求前輩幫忙。

  • 分享至 

  • xImage

下列兩項希望前輩們幫幫忙:

  1. 使用批次檔將.txt文件自動分類,文件檔有Pass.txt and Fail.txt,首先創建Pass與Fail資料夾並移動。(已完成)*在當前位置先建立資料夾,後續移動。

@echo off
md "Pass"
md "Fail"

move Pass*.txt* Pass
move Fail*.txt* Fail

  1. 使用批次檔將.txt文件區分,首先辨識文件修改日期,依據年份(YY)移動。
看更多先前的討論...收起先前的討論...
ahfuyeuem iT邦研究生 4 級 ‧ 2022-06-08 14:12:57 檢舉
文字檔就只有Pass.txt跟Fail.txt兩個?
打雜工 iT邦研究生 1 級 ‧ 2022-06-09 09:08:01 檢舉
直接要答案不太好喔~題目並不困難,真有哪些地方卡住,上網找資料或範例都有。
aaron3399 iT邦好手 1 級 ‧ 2022-06-09 09:23:32 檢舉
檔案的年份格式是如何?
abo_lu iT邦新手 5 級 ‧ 2022-06-09 12:41:28 檢舉
Hi ahfuyeuem哥,
是的。
abo_lu iT邦新手 5 級 ‧ 2022-06-09 12:41:49 檢舉
Hi 打雜工,
謝謝指導,一起加油。
abo_lu iT邦新手 5 級 ‧ 2022-06-09 12:42:28 檢舉
Hi aaron3399哥,
檔案年份目前有2019, 2020, 2021, 2022。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
李大瑋
iT邦好手 1 級 ‧ 2022-06-08 15:38:08
最佳解答

1.使用批次檔將.txt文件自動分類,文件檔有Pass.txt and Fail.txt,首先創建Pass與Fail資料夾並移動。
我在想的是不是有passYYMMDD.txt+FailYYMMDD.txt一堆檔案
D:\123
底下建立PASS跟FAIL兩個資料夾
D:\123建立PASS.BAT
move PASS*.* D:\123\PASS
move fail*.* D:\123\fail\

abo_lu iT邦新手 5 級 ‧ 2022-06-09 12:43:13 檢舉

Hi 大瑋哥,
這部分已參考您的方式完成,謝謝回覆。

2
crazystarwang37
iT邦新手 5 級 ‧ 2022-06-09 13:29:20

可以考慮用 for 指令來處理年份:

for /L %%year in (2019,1,2022) do (
  @rem 建立年份子資料夾
  set TARGET_PATH1="D:\123\PASS\%year%"
  if not exist %TARGET_PATH1% mkdir %TARGET_PATH1%

  set TARGET_PATH2="D:\123\FAIL\%year%"
  if not exist %TARGET_PATH2% mkdir %TARGET_PATH2%

  @rem 依年份及 pass or fail 來搬移檔案
  move PASS%year%*.* %TARGET_PATH1%\
  move fail%year%*.* %TARGET_PATH2%\
)
abo_lu iT邦新手 5 級 ‧ 2022-06-10 08:26:38 檢舉

Hi crazystarwang37哥,

請問move字串是否有辦法抓檔名中Pass or Fail的關鍵字?

P1642783-51-B_SB7S22158051623-220610074057-MY59250381-Pass.txt
P1642783-51-B_SB7S22158051623-220610074057-MY59250381-Fail.txt

也許附上期望的輸出結果, 會比較容易了解你的需求?

abo_lu iT邦新手 5 級 ‧ 2022-07-06 14:50:22 檢舉

謝謝哥的回覆,已解決。

@echo off

md "Pass"
md "Fail"

for /r %%i in (*Pass.txt) do MOVE %%i D:\111\Pass
for /r %%i in (*Fail.txt) do MOVE %%i D:\111\Fail

我要發表回答

立即登入回答